如何解决将XML发布到.Net Core Web API
我在名为.Net Core Web API
的{{1}}控制器上执行此操作:
HomeController
和模型[HttpPost]
public IActionResult TestMethod([FromForm] DocumentDto xml) {
int abc = 0;
return Ok();
}
:
DocumentDto
我还在[XmlRoot(ElementName = "document",Namespace = "")]
public class DocumentDto
{
[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; }
}
上添加了一个断点,并使用邮递员执行如下所示的操作
用于请求的int abc = 0;
是以下
xml
但是,在调试期间,<document>
<id>12345</id>
<content>This is a Test</content>
<author>vchan</author>
</document>
变量具有xml
属性,如下所示
此外,在 Startup.cs 文件中,我包括了null
,如下所示:
AddXmlSerializerFormatters()
为什么services
.AddMvc()
.AddXmlSerializerFormatters()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
没有被解析?
解决方法
根据您的请求,原始XML应该解析为[FromBody]
,而不是[FromForm]
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。