2014-10-05 31 views

回答

0

默認情況下,所有的API控制器有/api/SomeApi/的路線,其中SomeApiController是ApiController。有一個單獨的路線文件App_Start\WebApiConfig.cs,您可以修改它以獲取您需要的路線。

你可以像下面

config.Routes.MapHttpRoute(
    name: "ApiById", 
    routeTemplate: "api/{controller}/{id}", 
    defaults: new { id = RouteParameter.Optional }, 
    constraints: new { id = @"^[0-9]+$" } 
); 

config.Routes.MapHttpRoute(
    name: "ApiByAction", 
    routeTemplate: "api/{controller}/{action}", 
    defaults: new { action = "Get" } 
); 

一你就可以有一個動作命名爲「UpdateSomething」,它可以通過使用somewebsite.com/api/someapi/updatesomething希望以上信息會,開始了有益的訪問路線。

更新:

路線/File/Id/Tags你可以有以下路由定義

config.Routes.MapHttpRoute(
    name: "MySpecialRoute", 
    routeTemplate: "/File/Id/Tags", 
    defaults: new { controller = "AbcController", action = "XyzAction" } 
); 

注:沒有測試上面的代碼

+0

阿拉法特,謝謝。讓我困惑的是如何編寫這個routeTemplate。以此(http://service.com/File/Id/Tags/)爲例。我不知道模板應該是什麼樣子。你能幫忙舉個例子嗎?欣賞! – Archer 2014-10-08 03:09:28