我試圖啓用REST API版本,其中在標題中指定的版本爲"api-version":2
。MVC6的VersionedRoute屬性實現
根據this tutorial我只需要創建
VersionConstraint : IHttpRouteConstraint
和
VersionedRoute: RouteFactoryAttribute
的用法是應用[VersionedRoute("api/controllerName", 2)]
屬性給控制器,它是專爲特定版本(例如在這種情況下的版本2)。
這一切都很好,但不幸的是,這一切都在MVC5中,而我正在使用MVC6。因此,RouteFactoryAttribute
和IHttpRouteConstraint
不起作用。
我設法找到IRouteConstraint
來代替IHttpRouteConstraint
(希望它會工作),但我找不到RouteFactoryAttribute
的替代品。
如果任何人都可以使用MVC 6提供一個樣本,或者至少提到正確的類(理想情況下帶有名稱空間),我需要繼承?
在這看看,看看它是否適合您的需要:https://github.com/aspnet/Mvc/blob/dev/test/WebSites/VersioningWebSite/VersionRoute.cs #L11 –
謝謝,我已經看過那些代碼,看起來不必要的太多了。看看老例子,應該有一個更緊湊的方法來做到這一點。 –
由於這是一個新的框架,因此可能不存在apis之間的一對一映射。當然你可以試試看看新的api是否有一個更簡單的方法。 –