亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

ASP.Net Core基于ABP架構(gòu)配置To Json序列化

 更新時間:2022年06月15日 09:40:22   作者:springsnow  
這篇文章介紹了ASP.Net Core基于ABP架構(gòu)配置To Json序列化的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

一、 前言

我們采用ABP架構(gòu)用MVC Controller或Web API返回給前端結(jié)果ToJson序列化后得到的屬性命名都是采用js的駝峰格式,即首字母小寫,后面單詞首字母大寫的格式(如:后臺屬性名為OrderName,返回的前端js為orderName)。但在實(shí)際項(xiàng)目開發(fā)中由于某種原因(比如給老系統(tǒng)提供接口或現(xiàn)有系統(tǒng)集成等)需要采用給后臺屬性名一致或自己特定的格式,下面就介紹一下基于ABP架構(gòu)ToJson如何修改默認(rèn)配置和自定義配置。

二、 修改ToJson序列化默認(rèn)配置

在Startup文件進(jìn)行默認(rèn)配置修改,代碼如下:

public class Startup
{
        private readonly IConfigurationRoot _appConfiguration;

        public Startup(IHostingEnvironment env)
        {
            _appConfiguration = env.GetAppConfiguration();
        }

        public IServiceProvider ConfigureServices(IServiceCollection services)
        {
            // MVC
            services.AddMvc()
        .AddJsonOptions(options =>
            {
                //配置tojson格式配置 DefaultContractResolver 為和后臺屬性名保持一致(即:后臺屬性名為OrderName,前端js獲得屬性名也為OrderName)
                options.SerializerSettings.ContractResolver = new DefaultContractResolver();
                //修改為CamelCasePropertyNamesContractResolver,為js的駝峰格式,即abp默認(rèn)格式(即:后臺屬性名為OrderName,前端js獲得屬性名為orderName)
                //options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
            });
      }
}

三、ToJson序列化自定義配置

如果需要自定義ToJson序列化格式,需要先寫一個子類繼承DefaultContractResolver,重寫ResolvePropertyName方法,代碼如下:

public class MyPropertyNamesContractResolver : DefaultContractResolver
{
        protected override string ResolvePropertyName(string propertyName)
        {
            //屬性名全部返回小寫
            return propertyName .ToLower();
        }
}

再參考第二點(diǎn)在Startup文件將配置替換為MyPropertyNamesContractResolver

services.AddMvc()
.AddJsonOptions(options =>
{
     //配置tojson格式替換為自定義格式 MyPropertyNamesContractResolver (即:后臺屬性名為OrderName,前端js獲得屬性名為ordername)
     options.SerializerSettings.ContractResolver = new MyPropertyNamesContractResolver();
     options.SerializerSettings.DateFormatString = "yyyy'-'MM'-'dd' 'HH':'mm':'ss"; //返回給前臺的JSON數(shù)據(jù)中時間格式去掉T
});

到此這篇關(guān)于ASP.Net Core基于ABP架構(gòu)配置To Json序列化的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論