Я пришел сюда, чтобы прочесть много сообщений о той же ошибке, что и сейчас.
У меня есть WEB API, который работает в GET, но не в POST.Когда я отправляю ему JSON с POSTMAN, в ModelState появляется сообщение об ошибке ModelError ModelBinding
Это мой класс модели:
[DataContract]
public class Employee
{
[DataMember]
public int ID { get; set; }
[DataMember(IsRequired = true)]
public string FirstName { get; set; }
[DataMember(IsRequired = true)]
public string LastName { get; set; }
}
Вот метод Post контроллера контроллерамой API:
public IHttpActionResult Post([FromBody]Employee emp)
{
if (!ModelState.IsValid)
return BadRequest("Invalid data");
...
return Ok();
}
В этом контроллере я передаю свой if, и он возвращает мне «неверные данные»
Я попробовал все, я удалил [DataContract] в моей модели,но ничего не работает.
Вот пример JSON, который я посылаю:
{
"FirstName" : "John",
"LastName" : "Malon"
}
![My header contains the contentType JSON](https://i.stack.imgur.com/viY1a.png)
Полный код от Почтальона:
POST /api/employees HTTP/1.1
Host: localhost:49463
Content-Type: application/json
cache-control: no-cache
Postman-Token: 5ac38b20-425a-4ac7-995a-323fbd0bb9a5
{
"FirstName" : "John",
"LastName" : "Malon",
}------WebKitFormBoundary7MA4YWxkTrZu0gW--
РЕДАКТИРОВАТЬ: Похоже, что объект emp, который я получаю в методе Post, является нулевым, я видел это сообщение: Параметр Post всегда нулевой Но на английскомэто не мой основной язык, и я не могу понять, каково решение с =
Я понимаю, что мне нужно поставить = в JSON, который я отправляю, верно?
Заранее спасибо заваша помощь!