我有一个从请求正文接收参数的操作。客户端使用二进制格式访问此 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/