Asp.net-Web-Api2

ASP.NET Web API 多個 RoutePrefix

  • July 25, 2014

開源屬性路由允許有多個路由前綴。為什麼 ASP.NET Web API 2.0 不允許有多個 RoutePrefix()。

[RoutePrefix("api/v1/{abc}/Entity")]
[RoutePrefix("api/v1/{abc}/{xyz?}/Entity")]
public class MyApiController : ApiController
{
  [Route("")]
  public IHttpResult Get()
  {
     return Ok("Hello World");
  }
}

您可以將路由添加到操作方法,也可以使用“~”覆蓋 RoutePrefix

例子:

[RoutePrefix("api/v1/{abc}/Entity")]
public class MyApiController : ApiController
{
  [Route("")]
  [Route("~/api/v1/{abc}/{xyz?}/Entity")]
  public IHttpResult Get()
  {
     return Ok("Hello World");
  }
}

注意這一行:[Route("~/ api/v1/{abc}/{xyz?}/Entity")]

引用自:https://stackoverflow.com/questions/24953660