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

这个方法能解决问题。

方法三

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

相关推荐
xiaoshuaishuai837 分钟前
C# AI实现PR处理、单元测试
开发语言·c#·log4j
LONGZHIQIN40 分钟前
C#基础复习笔记
开发语言·笔记·c#
精神底层1 小时前
Skill——提示词的系统化封装
windows·.net
技术不好的崎鸣同学2 小时前
Windows 命令提示符(CMD)恶意脚本分析篇
网络·windows·安全·系统安全
品尚公益团队3 小时前
C#在asp.net网页开发中的带cookie登录实现
前端·c#·asp.net
吴可可1233 小时前
C#自定义CAD多段线零件实体
c#
CallmeFoureyes4 小时前
使用 C# 提取 Word 文档中的表格数据
开发语言·c#·word
思麟呀4 小时前
在C++基础上理解CSharp-7
java·jvm·c++·c#
2601_962364975 小时前
告别明文密码:Windows Hello 抗钓鱼双因子认证安全体系科普
windows
杰佛史彦明16 小时前
ElasticSearch中的分词器详解
大数据·elasticsearch·c#