簡體   English   中英

POST xml 到.Net Core Web API

[英]POST xml to .Net Core Web API

我在名為HomeController.Net Core Web API Controller 上有此操作:

[HttpPost]
public IActionResult TestMethod([FromForm] DocumentDto xml) {
    int abc = 0;

    return Ok();
}

和 model 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;上添加了一個斷點。 我使用 Postman 來執行如下所示的操作

請求標頭

請求正文

用於請求的xml如下

<document>
    <id>12345</id>
    <content>This is a Test</content>
    <author>vchan</author>
</document>

但是,在調試xml變量期間,變量具有null屬性,如下所示

調試

此外,在Startup.cs文件中,我包含了AddXmlSerializerFormatters() ,如下所示:

services
    .AddMvc()
    .AddXmlSerializerFormatters()
    .SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

為什么沒有解析xml

根據您的請求,原始 XML 應解析為[FromBody]而不是[FromForm]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM