zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    一个简单粗暴的爬虫
    Linux 目录结构
    python 部署 Restful web
    JVM 运行时数据区总结 栈 堆 堆大小配置总结
    成都法律援助申请流程
    JavaEE error整理(不断更新)
    ehcache.xml 属性大全
    SpringMVC 构建Restful风格 及问题处理
    Http Content-Type
    Redis 教程 Java工程师学习知识点
  • 原文地址:https://www.cnblogs.com/qidian10/p/6075281.html
Copyright © 2011-2022 走看看