c# - 如何防止 ASP.NET Core 在空请求主体上将模型状态标记为无效?

标签 c# asp.net-core

我有一个从请求正文接收参数的操作。客户端使用二进制格式访问此 API,该格式可能会将请求模型序列化为空正文。

如果我使用空请求正文执行这些操作之一,则会使用请求模型的默认值(即 null)调用该操作,但模型状态被标记为无效。这通常没问题,但我有一个中间件,如果模型状态无效,它会响应错误。

有什么方法可以让 ASP.NET Core 更优雅地处理空请求正文而不将模型状态标记为无效吗?

最佳答案

在浏览 ASP.NET Core 源代码后,我发现 MvcOptions 有一个属性来控制此行为:

services.AddMvc()
    .AddMvcOptions(o => o.AllowEmptyInputInBodyModelBinding = true);

关于c# - 如何防止 ASP.NET Core 在空请求主体上将模型状态标记为无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53822668/

相关文章:

mysql - 无法将 MySQL Data Nuget 包添加到 ASP Core 项目

asp.net-mvc - AspNet Core 生成和更改电子邮件地址

c# - 从 C# 应用程序到 ASP.NET 应用程序的通信

c# - 如何强制 .NET (C#) 使用方法的非泛型重载?

C# 防火墙,删除特定条目

c# - 将除以 10 的整数四舍五入到最接近的整数

c# - 如何使用 ADO.NET 将 SQLite 内存数据库转储到文件中?

c# - 带有参数的服务的单例

linux - 从 LAN 找不到 aspNet 核心 Linux 404

c# - "Unable to cast object of type ' ConcreteTypeMapping ' to type ' Microsoft.EntityFrameworkCore.Storage.RelationalTypeMapping"WebApi on macos