【发布时间】:2019-09-15 13:36:26
【问题描述】:
我有一个用 ASP.NET Core MVC 开发的应用程序,其中包含一组用于普通视图响应和 Web API 的控制器。
我正在尝试找到一种正确的方法来使用一致的类来包装所有 Web API 响应。
我的第一个问题是包装来自 Web API 控制器的响应的正确方法是什么。由于我有两种控制器类型,我需要区分它们,因为响应应该只为 API 控制器包装,而不是视图控制器。
据我了解,中间件或动作过滤器有两种选择。
起初我认为中间件是最好的选择,但后来我意识到我仍然需要弄清楚正在处理什么样的请求,这会给维护带来更多潜在的麻烦?
然后我查看了一个动作过滤器,似乎插入包装处理会是一个更好的选择。
例如,可以将操作过滤器添加到仅用于 Web API 的基本控制器,而不是处理视图的控制器。
所以问题是动作过滤器是否是实现这一目标的最佳方法?
【问题讨论】:
标签: c# asp.net-core-mvc