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

这个方法能解决问题。

方法三

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

相关推荐
勤劳打代码25 分钟前
Flutter 架构指南 —— windows 平台安装拆解
windows·架构
z落落2 小时前
C# WinForm 自定义控件
开发语言·c#
lzhdim4 小时前
20260714 - 个人小作品更新
c#·notenet
aramae4 小时前
C++11:现代C++的里程碑
c语言·开发语言·c++·windows·git·后端
执行x4 小时前
wsl2安装+桥接模式+固定IP
linux·windows·ubuntu
做萤石二次开发的哈哈5 小时前
如何接入萤石开放平台 ERTC Windows SDK?
windows·音视频·萤石开放平台
小堂子这厢有礼了6 小时前
Chet.QuartzNet.UI v2.3.0 大更新!表格重构 + 系统配置 + 分析页全面升级!
前端·后端·ui·重构·c#·vue
霸道流氓气质6 小时前
Windows 本地搭建 CDC 全链路测试环境(Kafka+Canel+binlog+SpringBoot)
windows·spring boot·kafka
郝开6 小时前
Windows 安装 Ostris AI Toolkit
人工智能·windows·toolkit·ai toolkit
她说彩礼65万1 天前
Asp.net core 模型绑定
后端·asp.net