我有一个简单的 ASP.NET Core Web API。请求将使用application/xml
媒体类型。但是,我想在控制器中将其读取为字符串,并在将该字符串转换为 XML 之前进行一些检查。像这样的简单方法会返回“http 415 - 不支持媒体类型”错误。
[HttpPost()]
public async Task<IActionResult> UpdateStatus([FromBody] string msg)
{}
AddXmlSerializerFormatters
我可以从主体中添加和获取我想要的对象,但这会绕过一些错误处理。有没有办法将其读取application/xml
为字符串?
我们通常用来
StreamReader
读取XML内容。如果仍然想从中获取 xml 内容
[FromBody] string msg
,我们可以创建自定义InputFormatter
来实现此功能。PlainTextInputFormatter.cs
注册
测试代码及测试结果