开源Attribute Routing允许具有多个路由前缀。
为什么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”)]

关于asp.net-web-api2 - ASP.NET Web API的多个RoutePrefix,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24953660/

10-10 15:00