默認情況下,所有的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" }
);
注:沒有測試上面的代碼
阿拉法特,謝謝。讓我困惑的是如何編寫這個routeTemplate。以此(http://service.com/File/Id/Tags/)爲例。我不知道模板應該是什麼樣子。你能幫忙舉個例子嗎?欣賞! – Archer 2014-10-08 03:09:28