.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);

这个方法能解决问题。

方法三

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

相关推荐
spencer_tseng1 天前
Redis + Nacos.bat
java·windows·dos
会飞的小新1 天前
Windows CMD 与 PowerShell 深度解析:底层原理、命令差异、自动化选型指南
运维·windows·自动化
Xin_ye100861 天前
第三章:内存泄漏的常见“案发现场”
c#·wpf
ziguo11221 天前
Windows API 文件操作超级指南——从入门到内核
c++·windows·visualstudio
七牛云行业应用1 天前
Ollama 本地部署 DeepSeek 完全指南:macOS / Windows / Linux 三端安装 + GPU 配置 + API 调用
linux·windows·macos
Code Man1 天前
Windows 下使用 Appium
android·windows·appium
WangWei_CM1 天前
Active Setup:按用户首次登录执行的组件初始化
windows
吴可可1232 天前
C#CAD点击计数器实现
c#
心平气和量大福大2 天前
C#-WPF-UserControl-生命周期(加载 退出)
开发语言·c#·wpf
sunywz2 天前
【c#】 Web Deploy一键发布,IIS部署全流程
开发语言·前端·c#