I get error when passing the parameters,
"Can't bind multiple parameters"
here is my code
[HttpPost]
public IHttpActionResult GenerateToken([FromBody]string userName, [FromBody]string password)
{
    //...
}
Ajax:
$.ajax({
    cache: false,
    url: 'http://localhost:14980/api/token/GenerateToken',
    type: 'POST',
    contentType: "application/json; charset=utf-8",
    data: { userName: "userName",password:"password" },
    success: function (response) {
    },
    error: function (jqXhr, textStatus, errorThrown) {
        console.log(jqXhr.responseText);
        alert(textStatus + ": " + errorThrown + ": " + jqXhr.responseText + "  " + jqXhr.status);
    },
    complete: function (jqXhr) {
    },
})
                Reference: Parameter Binding in ASP.NET Web API - Using [FromBody]
At most one parameter is allowed to read from the message body. So this will not work:
// Caution: Will not work! public HttpResponseMessage Post([FromBody] int id, [FromBody] string name) { ... }The reason for this rule is that the request body might be stored in a non-buffered stream that can only be read once.
emphasis mine
That being said. You need create a model to store the expected aggregated data.
public class AuthModel {
    public string userName { get; set; }
    public string password { get; set; }
}
and then update action to expect that model in the body
[HttpPost]
public IHttpActionResult GenerateToken([FromBody] AuthModel model) {
    string userName = model.userName;
    string password = model.password;
    //...
}
making sure to send the payload properly
var model = { userName: "userName", password: "password" };
$.ajax({
    cache: false,
    url: 'http://localhost:14980/api/token/GenerateToken',
    type: 'POST',
    contentType: "application/json; charset=utf-8",
    data: JSON.stringify(model),
    success: function (response) {
    },
    error: function (jqXhr, textStatus, errorThrown) {
        console.log(jqXhr.responseText);
        alert(textStatus + ": " + errorThrown + ": " + jqXhr.responseText + "  " + jqXhr.status);
    },
    complete: function (jqXhr) {
    },
})
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With