为了账号安全,请及时绑定邮箱和手机立即绑定

ASP.NET Core 2.0 中的验证:语法与验证问题

ASP.NET Core 2.0 中的验证:语法与验证问题

C#
慕标5832272 2021-06-01 07:14:54
在我的 ASP.NET Core 2.0 应用程序中,我想400 Bad Request在输入中存在语法问题(例如格式422 Unprocessable Entity错误的json)和其他错误(例如 Required、StringLength 等)时抛出 a 。有没有办法知道(也许调查ModelState)是语法(400)问题还是验证问题(422)?这是我正在使用的控制器操作...    [HttpPost]    public async Task<IActionResult> CreateArticle([FromBody] CreateArticleInput input)    {        if(!ModelState.IsValid)        {            // Return 400 or 422        }    }
查看完整描述

3 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

无法在模型绑定器级别混合匹配返回代码。即使是像 FluentValidation 这样的 3rd 方解决方案,也只允许您针对失败的结果使用单一的返回模式。

正如人们所建议的,在控制器级别添加额外的语法/语义检查,并保持输入验证不变 - 更清晰。


查看完整回答
反对 回复 2021-06-05
  • 3 回答
  • 0 关注
  • 139 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信