添加.net core web Api 对XML数据格式的支持

默认情况下WebApi 返回的数据类型是Json格式的数据,XML请求的也会返回json格式,这显然不是我们想要的

MvcOptions.ReturnHttpNotAcceptable的默认值为false, 此时,如果服务器端不支持http request中Accept的格式值,比如application/xml,则不会报错,返回默认格式的结果 也就是 json 格式的数据。

此时我们需要让他启用。

也就是 设置为true

javascrip 复制代码
services.AddControllers(setupAction =>
{

    setupAction.ReturnHttpNotAcceptable = true;
})

但是此时 ,如果是XML的请求,则返回的 406 Not Acceptable

所有我们需要添加对XML的数据支持

传统的方法是在 AddControllers添加

setupAction.OutputFormatters.Add(

new XmlDataContractSerializerOutputFormatter()

);

但是新的我们将是这样 的

javascript 复制代码
 services.AddControllers(setupAction =>
 {

     setupAction.ReturnHttpNotAcceptable = true;


     给控制器添加对XML的支持
     //setupAction.OutputFormatters.Add(
     //    new XmlDataContractSerializerOutputFormatter()
     //);
 }).AddXmlDataContractSerializerFormatters();//给控制器添加对XML的支持

这样就能返回 XML的数据格式了。

相关推荐
d***9352 小时前
springboot3.X 无法解析parameter参数问题
android·前端·后端
n***84073 小时前
十七:Spring Boot依赖 (2)-- spring-boot-starter-web 依赖详解
前端·spring boot·后端
likuolei7 小时前
XSL-FO 软件
java·开发语言·前端·数据库
正一品程序员7 小时前
vue项目引入GoogleMap API进行网格区域圈选
前端·javascript·vue.js
j***89467 小时前
spring-boot-starter和spring-boot-starter-web的关联
前端
star_11128 小时前
Jenkins+nginx部署前端vue项目
前端·vue.js·jenkins
im_AMBER8 小时前
Canvas架构手记 05 鼠标事件监听 | 原生事件封装 | ctx 结构化对象
前端·笔记·学习·架构
JIngJaneIL8 小时前
农产品电商|基于SprinBoot+vue的农产品电商系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·毕设·农产品电商系统
Tongfront8 小时前
前端通用submit方法
开发语言·前端·javascript·react
可爱又迷人的反派角色“yang”8 小时前
LVS+Keepalived群集
linux·运维·服务器·前端·nginx·lvs