美国同事代码,
我正在开发一个接受 XML 请求的简单 Web API(.NET CORE 2.0)。
控制器:
Route("api/Product")]
public class ProductController : Controller
{
[Route("List")]
[HttpPost]
public IActionResult List([FromBody]Body request)
{
return Ok();
}
}
类:
public class ProductRequest
{
public string ProductId { get; set; }
public string ProductDescription { get; set; }
}
[XmlRoot(ElementName = "Katawan")]
public class Body
{
[XmlElement(ElementName = "Product", Namespace = "")]
public ProductRequest ProductRequest { get; set; }
}
请求:
这很好,能够在调试时看到实际的请求,但我们对请求做了一些更改。我们在 Body 上添加了一些命名空间。见下图
在我们添加前缀'x'之后,请求现在始终为 null。我想在这里请求你的帮助。我已经做过一些研究,比如添加 DataContract 和 DataMember 属性并将命名空间设置为空白,仍然没有运气。
****更新
我们为x
添加了一个名称空间但仍然相同,我们还在 Product 上添加了新的前缀。现在这是最终的 xml。
<?xml version="1.0"?>
<x:Katawan
xmlns:x="http://www.w3.org/1999/xhtml">
<v:Product>
<ProductId>string</ProductId>
<ProductDescription>string</ProductDescription>
</v:Product>
</x:Katawan>