Я пытаюсь включить управление версиями в REST API, где версия указана в заголовке, как "api-version":2
.Реализация атрибута VersionedRoute для MVC6
По 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. –