问题描述:
现在在重构一个线上项目,因为旧代码使用Asp.Net Mvc,重构代码使用Asp.Net Core Mvc。
会导致返回Json报文自动被序列化为驼峰命名法,前端对大小写敏感导致抛错。
解决方案:
1. 修改全局配置,在StartUp.cs 添加:
services.AddMvc().AddNewtonsoftJson(
s => s.SerializerSettings.ContractResolver = new DefaultContractResolver()
);
2. 对单个接口进行配置,使用IActionResult子类,JsonResult配置JsonSerializerSettings:
return new JsonResult(objects, new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver()
});