2013-02-27 46 views
0

我有大部分使用的標準路線的MVC的Web API:MVC4 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文件。

這可能嗎?它是如何完成的?這是一個壞主意?

+2

你可能想使用基於屬性的路由。看到這裏http://attributerouting.net。 – 2013-02-27 19:30:52

+0

是的!這看起來很可愛,謝謝。 – 2013-02-27 19:48:39

回答

0

如果馬克瓊斯已經做出了這個答案而不是評論,我可以給他堆點。但我不能,但這個問題應該被解決。答案是

您可能想要使用基於屬性的路由。看到這裏 attributerouting.net。

http://attributerouting.net

相關問題