2014-10-05 47 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