.net 7.0 解决“The keyword field is required”的问题

在 .net 3.1项目的时候,使用 keyword 做 API 接口的模糊匹配,能够传入keyword = "" 进行整表查询。但当我在 .net 7.0 项目中这么使用的时候,传入 keyword 不为空时能够进行匹配,但是当我传入 keyword = "" 的时候就报错 "The keyword field is required"。

直接上报错截图

方法一

在网上找了解决办法:找到项目的属性>生成>常规>可为null类型,把可为null类型设置为启动。

但是这个只适用于.net 8.0或更高版本,对于我的 .net 7.0版本的没作用。

方法二

然后找到解决方法二、在控制器的依赖住入中,把 SuppressImplicitRequiredAttributeForNonNullableReferenceTypes 值设置为 true,即在Program文件中,输入下面的代码:

复制代码
builder.Services.AddControllers(options => 
options.SuppressImplicitRequiredAttributeForNonNullableReferenceTypes = true);

这个方法能解决问题。

方法三

其实要不了这么麻烦,遇到这个问题时,我忘记了还有一个可空类型参数(无语的笑了)。只需给参数的类型设置成可空就行了,操作如下

相关推荐
阿昭L5 分钟前
Windows内核驱动开发构建选项
windows·驱动开发·内核
我是唐青枫7 分钟前
C#.NET SignalR 深入解析:实时通信、Hub 与连接管理实战
开发语言·c#·.net
Oscar的参数15 分钟前
在 Windows 上部署 龙虾OpenClaw:基于 WSL2 的详细教程
人工智能·windows·深度学习·ai·语言模型
小邓的技术笔记20 分钟前
ASP.NET Core 认证鉴权实战:JWT、Policy 与权限边界怎么落地
asp.net·工程实践
白白白飘1 小时前
在 Windows 上安装 Docker 及验证
windows·docker·容器
长沙红胖子Qt1 小时前
关于 VMware虚拟机的windows虚拟机磁盘文件太大减少其磁盘 的解决方法
windows·虚拟机释放磁盘
thulium_1 小时前
Windows Ubuntu 本地部署OpenClaw
windows·ubuntu·aigc
WarPigs1 小时前
基于泛型+反射的Excel万能导表工具
unity·c#·excel·反射
尘觉2 小时前
OpenClaw 入门:OpenClaw 环境搭建完整指南(Mac / Windows / Linux)(2026-3月最新版)
linux·windows·macos
小曹要微笑2 小时前
C#什么是方法
c#·c#方法·方法是什么·什么是方法