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

这个方法能解决问题。

方法三

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

相关推荐
cjp56014 小时前
012.UG二次开发,UG管道服务器与WPF管道通讯,传输JSON数据
c#
TomEval15 小时前
【接口自动化】13 - 接口数据驱动与报告
运维·windows·自动化
jiushidt16 小时前
ArcGIS Pro Add‑in 打包流程详解
arcgis·c#·.net·arcgispro
Lydia 不加班16 小时前
Windows 服务器 人大金仓 54321 端口放行完整步骤
运维·服务器·windows
运维全栈笔记16 小时前
Windows 本地部署 Codex 全攻略:CC Switch 接入 DeepSeek 与模型自由切换
windows·深度学习·机器学习·chatgpt
C++ 老炮儿的技术栈17 小时前
西门子 S7 常用存储区(I/Q/M/T/C/DB/PI/PQ)
linux·开发语言·c++·windows·qt·io
今天AI了吗18 小时前
去中心化 AI 反馈系统:数据不上链,凭证与激励分开管
人工智能·windows·python·数据分析·去中心化·区块链·embedding
MOONICK19 小时前
MFC 嵌入WPF控件
windows
web守墓人19 小时前
【goed/ui】go开发windows原生应用之Helloworld篇
windows·ui·golang
Lysander.Jovian19 小时前
安装Windows server 2016
windows