Я новичок в. net веб-приложениях. Мой вариант использования - сделать почтовый вызов с XML в качестве тела. Я пытаюсь позвонить через почтальона, но значение параметра, полученное в моем контроллере, всегда равно нулю. Вот что у меня есть:
Он мое XML тело:
<?xml version="1.0" encoding="utf-8"?>
<document>
<id>123456</id>
<content>This is document that I posted...</content>
<author>Michał Białecki</author>
<links>
<link>2345</link>
<link>5678</link>
</links>
</document>
Вот объект DTO, который я использую:
[XmlRoot(ElementName = "document", Namespace = "")]
public class ABC
{
[XmlElement(DataType = "string", ElementName = "id")]
public string Id { get; set; }
[XmlElement(DataType = "string", ElementName = "content")]
public string Content { get; set; }
[XmlElement(DataType = "string", ElementName = "author")]
public string Author { get; set; }
[XmlElement(ElementName = "links")]
public LinkDto Links { get; set; }
}
public class LinkDto
{
[XmlElement(ElementName = "link")]
public string[] Link { get; set; }
}
Помимо это, я также добавил это в свой Startup.cs services.AddMvc().AddXmlDataContractSerializerFormatters();
И, наконец, это мой контроллер:
[Route("api/[controller]")]
public class UploadFileController : ControllerBase
{
[HttpPost]
[Route("upload")]
public void RegisterDocument([FromBody] Document dto)
{
Console.WriteLine("Inside the controller");
}
}
Вот как я его называю от почтальона:
One other thing I noticed while in debugging mode is I am seeing these errors as well:
введите описание изображения здесь
Может кто-нибудь поможет? Я пробовал различные решения, но не смог заставить их работать. Заранее спасибо.