ASP.Net Core基于ABP架構配置To Json序列化
一、 前言
我們采用ABP架構用MVC Controller或Web API返回給前端結果ToJson序列化后得到的屬性命名都是采用js的駝峰格式,即首字母小寫,后面單詞首字母大寫的格式(如:后臺屬性名為OrderName,返回的前端js為orderName)。但在實際項目開發(fā)中由于某種原因(比如給老系統(tǒng)提供接口或現(xiàn)有系統(tǒng)集成等)需要采用給后臺屬性名一致或自己特定的格式,下面就介紹一下基于ABP架構ToJson如何修改默認配置和自定義配置。
二、 修改ToJson序列化默認配置
在Startup文件進行默認配置修改,代碼如下:
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默認格式(即:后臺屬性名為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(); } }
再參考第二點在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 });
到此這篇關于ASP.Net Core基于ABP架構配置To Json序列化的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
.NET 6開發(fā)TodoList應用引入數(shù)據(jù)存儲
這篇文章主要介紹了.NET 6開發(fā)TodoList應用引入數(shù)據(jù)存儲,本篇文章僅完成了數(shù)據(jù)存儲服務的配置工作,目前還沒有添加任何實體對象和數(shù)據(jù)庫表定義,所以暫時沒有可視化的驗證,僅我們可以運行程序看我們的配置是否成功:下面來看詳細內(nèi)容吧2021-12-12詳解.NET中string與StringBuilder在字符串拼接功能上的比較
string與StringBuilder的在字符串拼接時執(zhí)行效率上有差異,這篇文章主要介紹了詳解.NET中string與StringBuilder在字符串拼接功能上的比較,感興趣的小伙伴們可以參考一下2018-11-11jQuery+Asp.Net實現(xiàn)省市二級聯(lián)動功能的方法
這篇文章主要介紹了jQuery+Asp.Net實現(xiàn)省市二級聯(lián)動功能的方法,涉及asp.net數(shù)據(jù)庫讀取與字符串轉換相關操作技巧,需要的朋友可以參考下2017-05-05DataGridView中CheckBox實現(xiàn)某一列單選
DataGridView中CheckBox實現(xiàn)某一列單選,需要的朋友可以參考一下2013-02-02