使用WebApiConfig中的url对版本api进行版本控制

时间:2018-04-17 03:23:40

标签: api api-versioning

 config.Routes.MapHttpRoute(
                name: "Version1",
                routeTemplate: "api/v1/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional , controllers = "studentV1" }
            );

我的问题是,如果我需要这个代码用于很多控制器,例如

controllers = "emplyeeV1" , controllers ="carV1" , controllers ="CursV1"

我是否必须为api中的每个控制器复制这个代码?!!

有没有像这样的例子。

   config.Routes.MapHttpRoute(
                name: "Version1",
                routeTemplate: "api/v1/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional , controllers = "studentV1" , controllers = "emplyeeV1" , controllers ="carV1" , controllers ="CursV1" }
            );

我知道它错了,但我怎样才能为这个问题做正确的解决方案呢?

1 个答案:

答案 0 :(得分:0)

您评估过ASP.NET API Versioning了吗?它可以使用单个路由模板支持您想要开箱即用的路由类型。您可以在wiki上查看有关按细分受众群版本划分的所有详细信息。还有一些Web API sample projects可以演示各种设置和样式。我希望有所帮助。