Asp.net Core WebApi 支持json/xml格式的数据返回

Asp.net core 在做webapi项目的时候,默认是只返回json格式的数据的,如果想要开启xml数据返回,需要在startup里配置如下:

public void ConfigureServices(IServiceCollection services)
        {
            // Add framework services.
            services.AddApplicationInsightsTelemetry(Configuration);
            services.AddMvc()
            .AddJsonOptions(options => { options.SerializerSettings.ContractResolver = new DefaultContractResolver(); })
            .AddXmlDataContractSerializerFormatters();
        }

这样就可以通过ajax的accept来控制请求需要返回的数据格式了。

这里需要注意:AddXmlDataContractSerializerFormatters可以将匿名属性式化为xml,而AddXmlSerializerFormatters直接会忽略dynamic/object类型的属性。

转换为xml格式化的时候你可能会遇到奇葩的问题,如下变成,xml格式中会平白无故的多出很多d2p1前缀,那么如何移除xml格式里的d2p1呢?

产生这个问题的原因是因为构造返回结果的多个对象不在同一个命名空间下面,只需要将其放在同一个命名空间即可解决这个问题

参考文章:http://stackoverflow.com/questions/6351425/get-rid-of-d2p1-in-xml-created-with-datacontract-in-serialized-class

posted @   jackchain  阅读(3978)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示