在我的 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 方解决方案,也只允许您针对失败的结果使用单一的返回模式。
正如人们所建议的,在控制器级别添加额外的语法/语义检查,并保持输入验证不变 - 更清晰。
- 3 回答
- 0 关注
- 139 浏览
添加回答
举报
0/150
提交
取消