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

这个方法能解决问题。

方法三

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

相关推荐
磊灬泽1 小时前
【日常错误】鼠标无反应
linux·windows
ccut 第一混2 小时前
c# 调用basler 相机
c#·halcon·basler
TomCode先生2 小时前
c#动态树形表达式详解
开发语言·c#
UNbuff_08 小时前
Windows netstat 命令使用说明
windows
您的通讯录好友9 小时前
conda环境导出
linux·windows·conda
上位机付工11 小时前
C#与倍福TwinCAT3进行ADS通信
开发语言·c#
土了个豆子的12 小时前
02.继承MonoBehaviour的单例模式基类
开发语言·visualstudio·单例模式·c#·里氏替换原则
疯狂的维修12 小时前
c#中public类比博图
c#·自动化
子兮曰13 小时前
🔥C盘告急!WSL磁盘暴增?三招秒清20GB+空间
前端·windows·docker
学历真的很重要15 小时前
Claude Code Windows 原生版安装指南
人工智能·windows·后端·语言模型·面试·go