欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

.netcore2.1 统一接口返回属性名称

程序员文章站 2022-05-03 22:32:08
为了开发规范,有时需要统一响应属性名称,.netcore已为我们封装好了,我们直接用即可。 在StartUp类中ConfigureServices方法中,添加如下代码: public void ConfigureServices(IServiceCollection services) { serv ......

  为了开发规范,有时需要统一响应属性名称,.netcore已为我们封装好了,我们直接用即可。

  在startup类中configureservices方法中,添加如下代码:

 public void configureservices(iservicecollection services)
        {
          
            services.addmvc()
            .addjsonoptions(opt =>
            {
                // opt.serializersettings.contractresolver = new newtonsoft.json.serialization.defaultcontractresolver();//原样输出,后台属性怎么写的,返回的 json 就是怎样的

               // opt.serializersettings.contractresolver = new newtonsoft.json.serialization.camelcasepropertynamescontractresolver();//驼峰命名法,首字母小写

                opt.serializersettings.contractresolver =new lowercasecontractresolver();//自定义扩展,属性全为小写
            })
            .setcompatibilityversion(compatibilityversion.version_2_1);

  自定义全部小写扩展类:

using system;
using system.collections.generic;
using system.linq;
using system.threading.tasks;

namespace myapi.common.extension
{
    public class lowercasecontractresolver: newtonsoft.json.serialization.defaultcontractresolver
    {
        protected override string resolvepropertyname(string propertyname)
        {
            return propertyname.tolower();
        }
    }
}