rah*_*hul 2 xml fiddler asp.net-core webapi
我有一个 .net core 3.1 web api。我已经尝试了以下但它总是在它击中它时变成空
[HttpPost]
public IActionResult ReturnXmlDocument(HttpRequestMessage request)
{
var doc = new XmlDocument();
doc.Load(request.Content.ReadAsStreamAsync().Result);
return Ok(doc.DocumentElement.OuterXml.ToString());
}
Run Code Online (Sandbox Code Playgroud)
它甚至在调试过程中也没有命中它,它还在 fiddler 中显示 415 错误。
Asp.net 核心不再使用 HttpRequestMessage 或 HttpResponseMessage。
所以,如果你想接受一个xml格式的请求,你应该执行以下步骤:
1.安装Microsoft.AspNetCore.Mvc.Formatters.Xml NuGet 包。
2.在Startup.ConfigureServices中调用AddXmlSerializerFormatters。
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers()
.AddXmlSerializerFormatters();
}
Run Code Online (Sandbox Code Playgroud)
3.Apply的消耗属性应该期望在请求主体XML控制器类或动作方法。
[HttpPost]
[Consumes("application/xml")]
public IActionResult Post(Model model)
{
return Ok();
}
Run Code Online (Sandbox Code Playgroud)
更详细的可以参考Model binding的官方文档
| 归档时间: |
|
| 查看次数: |
3545 次 |
| 最近记录: |