Я хочу получить в контроллере объект XML, но я всегда получаю нулевой объект.
Похоже, что
XmlDataContractSerializer Вывод Formatter () работает , потому что я могу вывести XML в другом случае, но XmlDataContractSerializer Ввод Formatter ()) не работает ;
Я пытался использовать
setupAction.AddXmlDataContractSerializerFormatters ()
или передать аргумент
setupAction.InputFormatters.Add (новый XmlDataContractSerializerInputFormatter ( setupAction )
но ничего не работает
services.AddMvc(setupAction =>
{
setupAction.ReturnHttpNotAcceptable = true;
setupAction.OutputFormatters.Add(new XmlDataContractSerializerOutputFormatter());
setupAction.InputFormatters.Add(new XmlDataContractSerializerInputFormatter());
});
[HttpPost]
public ActionResult CreateAuthor([FromBody] AuthorForCreationDto author)
{
if (author is null)
{
return BadRequest();
}
...
}
public class AuthorForCreationDto
{
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTimeOffset DateOfBirth { get; set; }
public string Genre { get; set; }
public ICollection<BookForCreationDto> Books { get; set; }
= new List<BookForCreationDto>();
}
XML
<AuthorForCreationDto xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Library.API.Models">
<DateOfBirth xmlns:d3p1="http://schemas.datacontract.org/2004/07/System">
<d3p1:DateTime>1948-03-03T00:00:00Z</d3p1:DateTime>
<d3p1:OffsetMinutes>0</d3p1:OffsetMinutes>
</DateOfBirth>
<FirstName>James</FirstName>
<Genre>Thriller</Genre>
<LastName>Ellroy</LastName>
</AuthorForCreationDto>
В почтальоне я устанавливаю приложение Content-Type / xml и приложение Accept / json