Web API Post parameters are always NullMVC4 Web API Сообщение Параметр Null
ASP.NET Web API POST parameter is null
То, что работало для этих людей, кажется, не будет работать для меня. У меня почти точно такая же настройка, но я все еще получаю нуль в своем втором контроллере. Первый работает отлично, но я не могу воспроизвести его во втором контроллере.
API вызова
$.ajax
({
type: "POST",
url: "http://localhost:52441/api/login",
data: { "Username": "test", "Password": "ptest" }
})
.done(function (data) {
//var json = $.parseJSON(data);
console.log(data);
});
класс Controller
public class LoginController : ApiController
{
public bool Post([FromBody]Creds creds)
{
return false;
}
}
кредитки класс
public class Creds
{
public string Username { get; set; }
public string Password { get; set; }
public Creds(string user, string pass)
{
this.Username = user;
this.Password = pass;
}
}
Как я уже сказал, это работает внутри другого контроллера (UsersController). Когда я проходил { "First_Name": "John", "Last_Name": "Doe" }
Я правильно получаю объект «Пользователь» в методе «Почта» public void Post([FromBody]User user)
Что мне здесь не хватает?
Не уверен, если это относится к веб-API, но это, конечно, не в состоянии в MVC, потому что у вас нет конструктора без параметров для 'Creds' –
@StephenMuecke Спасибо за ответ! Я установлю один, но в моем первоначальном посте я упомянул, что у меня есть класс User, и он настроен точно так же, и он работает. Кроме того, я не уверен, объяснит ли это, почему мои параметры сообщения равны нулю? – fischgeek
@StephenMuecke Святое дерьмо! Прошу прощения, я тебе не верил. Я бросил одного, чтобы посмотреть, и это сработало! Спасибо! – fischgeek