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

这个方法能解决问题。

方法三

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

相关推荐
嵩山小老虎8 小时前
Windows 10/11 安装 WSL2 并配置 VSCode 开发环境(C 语言 / Linux API 适用)
linux·windows·vscode
PfCoder8 小时前
C#中定时器之System.Timers.Timer
c#·.net·visual studio·winform
AndyHeee11 小时前
【windows使用TensorFlow,GPU无法识别问题汇总,含TensorFlow完整安装过程】
人工智能·windows·tensorflow
远程修电脑→241697677511 小时前
三角洲行动弹窗提示CPU虚拟化未开启或被占用启动腾讯游戏时出现【ACE安全中心】虚拟化相关报错
windows
188_djh12 小时前
# 15_电脑版百度网盘每次登录都显示安全验证,很麻烦,一招解决
windows·app·百度网盘·百度网盘安全验证·baidudisk
郭涤生12 小时前
C++的函数是否可以做到完全覆盖Linux和windows的跨平台
linux·c++·windows
Code小翊12 小时前
Python 核心语法速查手册
windows
csdn_aspnet12 小时前
ASP.NET Core 中的依赖注入
后端·asp.net·di·.net core
WangShade12 小时前
Jira部署在Windows完整流程
windows·jira·confluence
芙蓉王真的好112 小时前
安全无篡改:Windows 10 22H2/LTSC/ARM 官方原版镜像下载渠道与使用教程
arm开发·windows·安全