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

这个方法能解决问题。

方法三

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

相关推荐
dntktop12 分钟前
搜索+计算+插件…这个“全能管家”让你告别80%的桌面图标
运维·windows·自动化·编辑器
p***323538 分钟前
如何使用C#与SQL Server数据库进行交互
数据库·c#·交互
h***34631 小时前
Redis安装教程(Windows版本)
数据库·windows·redis
a***13142 小时前
redis存取list集合
windows·redis·list
2501_941807262 小时前
Java高性能消息队列与Kafka实战分享:大规模消息处理、异步通信与性能优化经验
c#·linq
周杰伦fans3 小时前
C# 中的**享元工厂**模式
开发语言·数据库·c#
鹿衔`3 小时前
通过Flink 1.19 客户端实现Flink集群连接 Kafka 基础测试报告
c#·linq
玩泥巴的5 小时前
.NET 8+ 飞书API实战:自动化群组管理与消息推送
c#·.net·二次开发·飞书
烛阴5 小时前
从`new`关键字开始:精通C#类与对象
前端·c#
lpfasd1236 小时前
Windows下使用nvm-windows管理Node.js版本及npm配置全指南
windows·npm·node.js