【发布时间】:2018-09-15 09:10:05
【问题描述】:
在 ASP.NET Core(本例中为 2.1)的控制器中使用 [FromBody] 时,它会处理对指定模型的所有转换并确保模型有效。这意味着如果提供的输入格式错误,甚至不会调用控制器方法。
- 如何实现即使输入无效也会调用我的控制器方法,以便我自己处理错误情况?
- 有没有一种方法可以编写我自己的中间件,以便按照我的系统需要的方式记录无效输入,或者是否有我可以使用的默认输入?
【问题讨论】:
-
是的,它有。我使用由 dotnet cores mvc 模板生成的默认控制器模板。
-
有多个独立的 dotnet 核心应用程序正在运行。他们都相互影响。由于我们严重依赖数据但质量不足,我希望能够处理我自己的无效请求,方法是在将它们变成有效的 ModelState 之前尝试修复它们,或者吐出有意义的日志消息,工程师可以查看这些消息以稍后修复它。因为所有的服务都会做同样的日志报告,我想到了一个中间件,它负责为每个人进行自定义验证,这样并不是每个控制器功能都需要手动检查。
-
因为第一个是最重要的。如果有办法自动处理所有这些,我仍然会感兴趣。
标签: c# asp.net-core asp.net-core-mvc asp.net-core-2.1