将 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;
});
这就是 Controller 返回对象的方式。
// GET: api/Projects
[HttpGet]
public async Task<IEnumerable<Project>> GetProjects()
{
return await _context.GetAll();
}
这很奇怪,即使 Swagger 报告结果应该以驼峰命名法返回,但 JSON 对象在 Pascal 中总是大写。
知道我做错了什么吗?
最佳答案
我在项目中使用了 Swashbuckle,它引用了该包中的 NewtonJson 依赖项,而不是引用了 Microsoft Newton 包。
关于c# - Asp Core 3 预览版 4 - JSON 驼峰格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55879544/