基于路由参数向控制器发送路由请求

时间:2012-07-11 14:23:28

标签: asp.net-mvc-routing asp.net-mvc-4 asp.net-web-api

我想根据URI中的版本号将请求路由到特定版本控制器。

例如,

routes.MapHttpRoute(
            name: "APIV2",
            routeTemplate: "BlogFeed/{version}/{id}",
            defaults: new { id = RouteParameter.Optional, controller = "BlogFeedV2"}
        );

我想要的是基于版本路由参数我想将请求路由到该版本控制器。因此,如果版本路由参数是v2,则该请求应由BlogFeedV2处理。有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

为什么不:

  routes.MapHttpRoute(
        name: "APIV2",
        routeTemplate: "BlogFeed/v2/{id}",
        defaults: new { id = RouteParameter.Optional, controller = "BlogFeedV2"}
    );       
  routes.MapHttpRoute(
        name: "APIV1",
        routeTemplate: "BlogFeed/v1/{id}",
        defaults: new { id = RouteParameter.Optional, controller = "BlogFeedV1"}
    );