默认情况下,所有的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