在ASP.NET Core Minimal API中配置JSON属性名称大小写策略
在Minimal API中全局配置JSON属性命名策略(保持原大小写)
你遇到的问题核心是:Minimal API和MVC依赖的是不同的JSON配置选项类型,导致之前的配置对Minimal API不生效:
- MVC使用的是
Microsoft.AspNetCore.Mvc.JsonOptions - Minimal API默认使用的是
Microsoft.AspNetCore.Http.Json.JsonOptions
你之前尝试的services.Configure<JsonOptions>是针对MVC的配置规则,无法作用于Minimal API。
正确的全局配置方式
在Program.cs的服务配置阶段,使用AddHttpJsonOptions专门配置Minimal API的JSON序列化规则:
builder.Services.AddHttpJsonOptions(options => { // 取消默认小写命名策略,保持属性原大小写 options.SerializerOptions.PropertyNamingPolicy = null; // 处理对象循环引用问题 options.SerializerOptions.ReferenceHandler = ReferenceHandler.IgnoreCycles; });
补充说明
如果你的项目同时使用MVC和Minimal API,需要分别配置两者的JSON选项:
- MVC部分保留你原来的
AddMvc().AddJsonOptions配置逻辑 - Minimal API部分添加上述
AddHttpJsonOptions配置
配置完成后,Minimal API端点返回的JSON属性名会和返回对象的属性大小写完全一致,无需再逐个类添加[JsonPropertyName]特性。
内容的提问来源于stack exchange,提问作者Igor Markiv
相关产品推荐
相关产品推荐

