已经将我的ASP.Core API从2.2迁移到3.0,我发现使用JSON进行序列化时返回DTO的方式有些奇怪。
最初,我的所有回复都会以驼峰般出现。但是,现在所有内容都设置为PascalCase。
我尝试设置以下内容以及DefaultPropertyNamesContractResolver。
services.AddMvc()
.AddNewtonsoftJson(options =>
{
// Return JSON responses in LowerCase?
options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
// Resolve Looping navigation properties
options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
});
这是控制器返回对象的方式。
// GET: api/Projects
[HttpGet]
public async Task<IEnumerable<Project>> GetProjects()
{
return await _context.GetAll();
}
很奇怪,即使Swagger报告结果也应该以驼峰形式返回,但是JSON对象始终以Pascal大写。
有什么想法我在做什么错吗?
答案 0 :(得分:1)
我在该项目中使用了Swashbuckle,它是从该程序包中引用NewtonJson依赖项,而不是引用Microsoft Newton程序包。