添加.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的数据格式了。

相关推荐
liangshanbo12152 小时前
写好 React useEffect 的终极指南
前端·javascript·react.js
哆啦A梦15884 小时前
搜索页面布局
前端·vue.js·node.js
_院长大人_5 小时前
el-table-column show-overflow-tooltip 只能显示纯文本,无法渲染 <p> 标签
前端·javascript·vue.js
哆啦A梦15886 小时前
axios 的二次封装
前端·vue.js·node.js
阿珊和她的猫6 小时前
深入理解与手写发布订阅模式
开发语言·前端·javascript·vue.js·ecmascript·状态模式
yinuo6 小时前
一行 CSS 就能搞定!用 writing-mode 轻松实现文字竖排
前端
snow@li7 小时前
html5:拖放 / demo / 拖放事件(Drag Events)/ DataTransfer 对象方法
前端·html·拖放
ss2737 小时前
手写Spring第4弹: Spring框架进化论:15年技术变迁:从XML配置到响应式编程的演进之路
xml·java·开发语言·后端·spring
浪裡遊8 小时前
Nivo图表库全面指南:配置与用法详解
前端·javascript·react.js·node.js·php
漂流瓶jz9 小时前
快速定位源码问题:SourceMap的生成/使用/文件格式与历史
前端·javascript·前端工程化