MVC4 Web API - 是否可以在单个控制器中为非标准和&添加路由。自定义动作?

时间:2013-02-27 18:50:06

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

我有一个MVC web api,大部分都使用标准路径:

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{action}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

它位于WebApiConfig.cs路由文件中。

某些控制器上的某些操作可能需要在其路径上添加其他参数。

例如,ContentController可能需要传入调用的附加参数,如:

            routeTemplate: "api/{controller}/{Foo}/{action}/{Bar}/{id}" 

或任何其他配置。

理想情况下,如果我正在做这类事情,我希望能够在控制器本身中拼写出那些特定于控制器的路由,而不是使WebApiConfig.cs文件混乱。

这可能吗?怎么做?这是一个坏主意吗?

1 个答案:

答案 0 :(得分:0)

如果马克琼斯做出这个答案而不是评论,我就可以给他积分。但我不能,但这个问题应该被解决。答案是

  

您可能希望使用基于属性的路由。看这里   attributerouting.net。

http://attributerouting.net