问题
The opensource Attribute Routing allows to have multiple route-prefixes. Why does ASP.NET Web API 2.0 does not allow to have multiple RoutePrefix().
[RoutePrefix("api/v1/{abc}/Entity")]
[RoutePrefix("api/v1/{abc}/{xyz?}/Entity")]
public class MyApiController : ApiController
{
[Route("")]
public IHttpResult Get()
{
return Ok("Hello World");
}
}
回答1:
You can add a route to the action method also overriding the RoutePrefix with a "~"
example:
[RoutePrefix("api/v1/{abc}/Entity")]
public class MyApiController : ApiController
{
[Route("")]
[Route("~/api/v1/{abc}/{xyz?}/Entity")]
public IHttpResult Get()
{
return Ok("Hello World");
}
}
Notice the line: [Route("~/ api/v1/{abc}/{xyz?}/Entity")]
来源:https://stackoverflow.com/questions/24953660/asp-net-web-api-multiple-routeprefix