2016-07-15 155 views
0

我想在ASP.Net的Web API来创建结构如下2ASP.NET网页API 2路由

https://<host>/api/webhooks/incoming/custom 

我可以通过创建控制器网络挂接导航到网络挂接,但我怎么可以创建其他两个在它之下?

对此有任何想法吗?

回答

2

你可以用属性路由来做到这一点。

在控制器中,您可以将RoutePrefix添加到控制器,然后直接在该方法上指定每条附加路线。然后控制器内的所有方法路由将以api/webhooks/incoming开头。要调用GetStarted()可能会出现路由api/webhooks/incoming/custom

[RoutePrefix("api/webhooks/incoming")] 
    public class StartUpController : ApiController 
    { 
     [HttpGet] 
     [Route("custom")] 
     [AllowAnonymous] 
     public IHttpActionResult GetStarted() 
     { 
      return Ok(); 
     } 
    } 

或者你可以直接在方法指定完整路径。这条路线也将是api/webhooks/incoming/custom

public class StartUpController : ApiController 
    { 
     [HttpGet] 
     [Route("api/webhooks/incoming/custom")] 
     [AllowAnonymous] 
     public IHttpActionResult GetStarted() 
     { 
      return Ok(); 
     } 
    } 

你可以阅读更多关于它here