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

这个方法能解决问题。

方法三

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

相关推荐
yylの博客1 分钟前
Windows通过git-bash安装zsh
windows·git·bash·zsh
进击的code27 分钟前
windows 下使用WLS2 编译aosp Android14并刷机到pixle 5a
windows
坐井观老天3 小时前
在C#中使用资源保存图像和文本和其他数据并在运行时加载
开发语言·c#
染指11104 小时前
50.第二阶段x86游戏实战2-lua获取本地寻路,跨地图寻路和获取当前地图id
c++·windows·lua·游戏安全·反游戏外挂·游戏逆向·luastudio
dntktop5 小时前
Converseen:全能免费批量图像处理专家
windows
pchmi6 小时前
C# OpenCV机器视觉:模板匹配
opencv·c#·机器视觉
一个懒鬼6 小时前
Windows脚本清理C盘缓存
windows·缓存
蚁景网络安全7 小时前
Cobalt Strike 4.8 用户指南-第十四节 Aggressor 脚本
windows·microsoft
黄油饼卷咖喱鸡就味增汤拌孜然羊肉炒饭7 小时前
C#都可以找哪些工作?
开发语言·c#
m0_663234018 小时前
在 .NET 5.0 运行 .NET 8.0 教程:使用 ASP.NET Core 创建 Web API
前端·asp.net·.net