I have a controller with the following setup for API requests:
endpoints.MapControllerRoute(
    name: "default",
    pattern: "{controller}/{action}/{id?}",
    defaults: new { controller = "Home", action = "Index" }
);
This works great for GET requests, but for POST requests my parameters do not seem to have any values. On the frontend, in JavaScript, I can see my parameters in the payload so I know they are there. However, my controller must not be set up correctly to take the POST requests.
Here is my GET request which works, and my POST which doesn't. I believe my issue is that I set the controller route to require the ? and take parameters. However, I still need to do post requests!
GET request:
public ActionResult Contacts([FromQuery] String DD_INPUT)
{
    //We have parameters here just in case we want to use them
    IEnumerable queryResult;
    String query = "Exec dbo.storedprocedure2 @DD_INPUT";
    using (var connection = new SqlConnection(connectionString))
    {
        queryResult = connection.Query(query, new { DD_INPUT = DD_INPUT });
    }
    return Ok(queryResult);
}
POST request:
[HttpPost]
public ActionResult AddFirm([FromBody] String FIRM_NAME)
{
    String query = "exec dbo.storeprocedername @FIRM_NAME";
    System.Diagnostics.Debug.WriteLine("value:" + FIRM_NAME);
    using (var connection = new SqlConnection(connectionString))
    {
        var json = connection.QuerySingle<string>(query, new { FIRM_NAME = FIRM_NAME});
        return Content(json, "application/json");
    }
}
POST Request JavaScript
axios.post(window.location.origin + '/API/AddFirm', {
    FIRM_NAME: this.FirmName
}).then(response => {
    this.FirmsArray = response.data;
}).catch(error => {
    console.log(error.response.data.error);
});
 
     
     
     
    