更新记录
转载请注明出处:
2022年11月6日 发布。
2022年11月5日 从笔记迁移到博客。
ASP.NET Core WebAPI 配置支持 XML
说明
默认情况下,ASP.NET Core WebAPI Controller 返回的是JSON数据,但也可以返回XML格式数据。
服务配置
在服务中配置 AddControllers 服务,增加额外的 AddXmlSerializerFormatters 配置即可,这样既可以返回 JSON 格式, 也可以返回 XML 格式。
builder.Services.AddControllers(options => {
options.ReturnHttpNotAcceptable = true;
}).AddXmlSerializerFormatters();
如果只需要返回 XML 格式,可以把 JSON 格式的支持移除。
builder.Services.AddControllers(options =>
{
//移除对 JSON 格式的支持
options.OutputFormatters.RemoveType(typeof(SystemTextJsonOutputFormatter));
options.ReturnHttpNotAcceptable = true;
}).AddXmlSerializerFormatters();
请求XML
然后在请求的时候,加上请求的是 XML 类型文件即可。
Accept: "application/xml"
请求JSON
然后在请求的时候,加上请求的是 JSON 类型文件即可。
Accept: "application/json"
ASP.NET Core MVC 配置支持 XML
说明
默认情况下,ASP.NET Core MVC Controller 可以返回的是JSON数据,但也可以返回XML格式数据。
直接转为 XML 字符串即可
public IActionResult Test()
{
//设置响应类型为 xml
this.HttpContext.Response.Headers.ContentType = "application/xml";
//返回 xml字符串
return this.Content("<result><value>123</value></result>");
}
如果用的多,还可以写成 ControllerBase 的扩展方法,然后直接使用。
标签:XML,Core,ASP,返回,JSON,NET From: https://www.cnblogs.com/cqpanda/p/16856698.html