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

这个方法能解决问题。

方法三

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

相关推荐
吴可可1231 小时前
多段线局部约束缩放实现
c#
JavaPub-rodert2 小时前
ChatGPT Windows 客户端突然打不开?提示找不到 Codex CLI,我这样解决了
windows·chatgpt
长友cy3 小时前
windows 搭建Qt编译Android 应用程序,快速搭建
android·windows
水饺编程3 小时前
第5章,[Win32 章节] :绘图模式
c语言·c++·windows·visual studio
棉晗榜5 小时前
C# HttpClient配置具有tls指纹发起跟浏览器一样的请求解决反爬虫防护
开发语言·爬虫·c#
吴可可1235 小时前
在CAD中点击添加多段线顶点的方法与实现
c#
全栈小55 小时前
【C#】.net core,静态方法线程安全解析,面试时经常被问的线程安全就藏在里面
安全·c#·.netcore
天下无敌笨笨熊6 小时前
C#视频开发心得
开发语言·c#·音视频
LccKyI7 小时前
C#基础编程 面试题汇总(三)
笔记·c#
百年੭ ᐕ)੭*⁾⁾7 小时前
Redash部署指南(Windows docker部署)
大数据·windows·docker·数据可视化·redash