【发布时间】:2015-12-29 19:14:09
【问题描述】:
我正在尝试在 REST API 上启用版本控制,其中版本在标头中指定为 "api-version":2。
根据this tutorial我只需要创建
VersionConstraint : IHttpRouteConstraint
和
VersionedRoute: RouteFactoryAttribute
用法是将[VersionedRoute("api/controllerName", 2)] 属性应用于为特定版本(例如本例中的版本 2)设计的控制器。
这一切都很好,但不幸的是,这一切都在 MVC5 中,而我正在使用 MVC6。因此,RouteFactoryAttribute 和 IHttpRouteConstraint 不起作用。
我设法找到IRouteConstraint 来替换IHttpRouteConstraint(希望它会起作用),但我找不到RouteFactoryAttribute 的替代品。
如果有人可以提供使用 MVC 6 的示例,或者至少提及我需要继承的正确类(理想情况下带有命名空间)?
【问题讨论】:
-
谢谢,我已经看过那段代码了,它看起来太多了。查看旧示例,应该有更紧凑的方法来做到这一点。
-
由于这是一个新框架,api之间可能没有一对一的映射关系。当然,您可以尝试了解新 api 是否有更简单的方法。
-
@Bilo_ZA 你能找到解决办法吗?
-
我已经更新了我的解决方案,我认为它符合要求。
标签: .net asp.net-web-api asp.net-core asp.net-core-mvc api-versioning