You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 7枚举查询参数能否设置为大小写不敏感?

.NET 7 枚举查询参数大小写敏感性调整

.NET 7 默认修改了枚举类型的模型绑定行为,改为大小写敏感,这导致原.NET 6中支持的小写枚举值查询参数无法正常绑定。以下是两种可行的解决方法:

全局生效(推荐)

在 Program.cs 中配置控制器的模型绑定选项,全局设置枚举绑定忽略大小写:

builder.Services.AddControllers(options =>
{
    // 设置枚举绑定为大小写不敏感
    options.ModelBinding.EnumBinderOptions.MatchBehavior = EnumMatchBehavior.IgnoreCase;
});

单个参数生效

若仅需针对特定接口参数调整,可在参数上通过 [FromQuery] 指定绑定行为:

[HttpGet]
public ActionResult<string> Get([FromQuery(BindingBehavior = BindingBehavior.IgnoreCase)] MyValues myValue)
{
    return myValue.ToString();
}

配置完成后,?myValue=FirstValue 和 ?myValue=firstvalue 两种格式的查询参数都能正常完成枚举绑定,不会再触发验证错误。

内容的提问来源于stack exchange,提问作者Torben Nielsen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 05:05:23