适用于不同控制器的WebAPI多个路由组

时间:2016-08-30 14:37:23

标签: c# asp.net-web-api2 asp.net-web-api-routing

我希望从不同的路径访问不同的控制器:

/api1/{Controller}   //for controllers Group 1
/api2/{Controller}   //for controllers Group 2

我明白可以使用属性路由或http处理程序

config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api1/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional },
                handler: // Create controller from group 1
            );

我想知道更好的方法。

情况:我有一个单独的程序集和一些WebAPI控制器,我希望在主机项目中使用它们时,可以访问默认/ api / XXXXX以外的它们。

1 个答案:

答案 0 :(得分:0)

执行Attribute Routing并使用您想要的路由前缀标记您的控制器:

    [Route("api1")]
    public class FirstController: Controller {...}

    [Route("api2")]
    public class SecondController: Controller {...}