Мне не удалось получить привязку модели к работе при выполнении POST с использованием данных XML с помощью ASP.NET Web API. Данные JSON работают нормально.
Используя новый проект Web API, вот мои классы моделей:
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class PostResponse
{
public string ResponseText { get; set; }
}
Вот мой метод сообщения в контроллере:
public PostResponse Post([FromBody]Person aPerson)
{
var responseObj = new PostResponse();
if (aPerson == null)
{
responseObj.ResponseText = "aPerson is null";
return responseObj;
}
if (aPerson.FirstName == null)
{
responseObj.ResponseText = "First Name is null";
return responseObj;
}
responseObj.ResponseText = string.Format("The first name is {0}", aPerson.FirstName);
return responseObj;
}
Я могу успешно запустить его с JSON от Fiddler:
Заголовок запроса:
User-Agent: Fiddler
Хост: localhost: 49188
Content-Type: application/json; кодировка = UTF-8
Content-Length: 38Тело запроса
{ "FirstName": "Томь", "LastName": "Джонс" }Результат:
{ "ResponseText": "Первое имя - Tom" }
При передаче в XML объект Person не гидратируется правильно:
Заголовок запроса:
User-Agent: Fiddler
Хост: localhost: 49188
Content-Type: text/xml
Контент-длина: 79Тело запроса
< & Персона GT;
<FirstName> Том </FirstName>
< ЬазШате > Jones </ЬазШате >
</Person>Результат:
<ResponseText> aPerson - это нуль </ResponseText>
Из того, что я понимаю, XML должен работать аналогично JSON. Любые предложения о том, что здесь отсутствует?
Спасибо,
Пропустить