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

这个方法能解决问题。

方法三

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

相关推荐
飞Link5 小时前
Windows 环境下 LaTeX 的安装配置教程
windows·vscode
R.lin5 小时前
windows MySQL解压版安装教程
windows·mysql·adb
常家壮6 小时前
Windows隐藏账号创建完全指南:技术原理与安全实践
windows·安全·渗透测试·后门·windows隐藏账号
c#上位机7 小时前
halcon图像增强——emphasize
图像处理·人工智能·计算机视觉·c#·上位机·halcon
真上帝的左手9 小时前
18. 操作系统-Windows-命令提示符
windows
zxy28472253019 小时前
C#的视觉库Halcon入门示例
c#·图像识别·halcon·机器视觉
GHL28427109011 小时前
文件重命名(C++源码)
前端·c++·windows
fred_kang12 小时前
win11上使用SecoClient登录报错出现的SV无法连接至服务器信息
windows
whm277713 小时前
Visual Basic 鼠标事件
开发语言·visualstudio
丁劲犇14 小时前
Visual C++下使用Win32 API为Release模式导出崩溃堆栈
c++·windows·crash·dump·离线调试·vc·崩溃堆栈