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

这个方法能解决问题。

方法三

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

相关推荐
Full Stack Developme几秒前
Hutool File 教程
linux·windows·python
逆向爱好者3 分钟前
windows环境下通过docker安装使用Superset
windows·docker·容器
一个人旅程~7 分钟前
压缩软件应该选RAR格式还是ZIP格式?高压缩率高安全VS高兼容性之争的何去何从?
linux·windows·经验分享·电脑
seabirdssss9 分钟前
从 Windows GUI 自动化到 Android 自动化:一套双端巡检脚本的重构过程
android·windows·自动化
宝桥南山25 分钟前
Azure - 尝试一下使用Azure Developer CLI去部署应用程序
microsoft·ai·微软·c#·aigc·azure
Full Stack Developme27 分钟前
Hutool XML 操作教程
xml·windows·python
码农小旋风31 分钟前
2026 最新 Claude Code Windows 安装教程:Node、Git Bash、命令检查一步步配好
windows·git·bash·claude
embrace_the_sunhaha33 分钟前
MATLAB->WinC-UnbuntuC
windows·硬件工程
OctShop大型商城源码1 小时前
C#.NET多商户商城系统源码_OctShop:技术与机遇的融合
c#·.net·多商户商城系统源码·商城系统源码
张人玉1 小时前
VisionPro 书页查找工具 学习笔记
c#·机器视觉·vsionpro