一、概述
1、前面文章介紹Controller的大小寫問題時,目的只是介紹它的差異性,有同學回復了,這里把它作為一個點寫一下吧。
二、默認定義的轉換結果
1、寫一個返回對象的方法。
2、運行查看結果。
public class OneController : Controller { public Model GetString(string id) { return new Model() { ID = id, Name = "aa" }; } } public class Model { public string ID { get; set; } public string Name { get; set; } }
運行結果
三、自定義轉換方法 (以下是NetCore 2.0的寫法)
1、添加Startup自定義轉換代碼。
2、重新運行查看結果。
四、自定義轉換方法 (以下是NetCore 3.0的寫法)
需要先引用 Microsoft.AspNetCore.Mvc.NewtonsoftJson 包
services.AddMvc().AddNewtonsoftJson(options => { // 忽略循環引用 options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; // 不使用駝峰 options.SerializerSettings.ContractResolver = new DefaultContractResolver(); // 設置時間格式 options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss"; // 如字段為null值,該字段不會返回到前端 // options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore; }); //或 services.AddControllers().AddNewtonsoftJson(options => { // 忽略循環引用 options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; // 不使用駝峰 options.SerializerSettings.ContractResolver = new DefaultContractResolver(); // 設置時間格式 options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss"; // 如字段為null值,該字段不會返回到前端 // options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore; });