前言
测试发现,CoreWebAPI返回的Json数据,会将字段的首字母转换为小写,
经百度得,返回数据会默认驼峰命名,导致的。
随即百度,
https://www.cnblogs.com/cdoneiX/p/12206803.html
此文,介绍了三种方法。
(一)通过Startup.cs设置项目级别的格式
(二)设置Controller/WebAPI级别的统一格式转换,这里用到了ActionFilterAttribute,扩展出一个CustomActionJsonFormatAttribute标签
(三)在代码返回的时候设置JsonResult,这个是最灵活但也最麻烦的方式
第一种方法,项目中始终无法获得该属性,
第二种方法,感觉也是有些麻烦,每个方法都要添加特性
第三种方法,采用的方法,因为创建了APIControllerBase.cs,对返回方法进行了封装,故采用该方法。
步骤
1.添加Nuget引用
2.Startup.cs添加相关配置
AddNewtonsoftJson();来自于Microsoft.AspNetCore.Mvc.NewtonsoftJson扩展方法
services.AddControllersWithViews()
.AddNewtonsoftJson();
3.返回信息添加Json配置
/// <summary> /// 返回成功消息 /// </summary> /// <param name="info">消息</param> /// <returns></returns> protected virtual IActionResult Success(string info) { return Json(new ResResult { Code = StatusCodes.Status200OK, Msg = info, Data = new object { } } , new JsonSerializerSettings { ContractResolver = new DefaultContractResolver() }); }
调用结果
返回的结果,跟后台声明类中的属性大小写一致。