【发布时间】:2020-03-30 02:46:06
【问题描述】:
[HttpGet]
[HttpPost]
public HttpResponseMessage GetXml(string value)
{
var xml = $"<result><value>{value}</value></result>";
return new HttpResponseMessage
{
Content = new StringContent(xml, Encoding.UTF8, "application/xml")
};
}
我使用 Swagger 调用了该操作并传递了此参数“文本值”
预期的结果应该是这样的 XML 文件:文本值
实际结果: 没有传递值的奇怪 json 结果! https://www.screencast.com/t/uzcEed7ojLe
我尝试了以下解决方案,但没有奏效:
services.AddMvc().AddXmlDataContractSerializerFormatters();
services.AddMvc().AddXmlSerializerFormatters();
【问题讨论】:
-
你是把这两个属性一起声明[HttpGet] [HttpPost] 吗?
-
ASP.NET Core 与旧的 Web API 是不同的野兽,它本身不能使用或理解
HttpResponseMessage。我还从 web API -> Core 进行了迁移,并且在它开始对我有意义之前必须忘记很多类似的东西。
标签: c# xml asp.net-core asp.net-core-webapi webapi