7

Openource Attribute Routing pozwala mieć wiele prefiksów tras. Dlaczego środowisko ASP.NET Web API 2.0 nie zezwala na wiele funkcji RoutePrefix().ASP.NET Web API 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

Możesz dodać wiele atrybutów RoutePrefix na WebApiController. Zobacz https://3btechtalk.wordpress.com/2017/05/07/defining-multiple-route-prefix-in-asp-net-web-api-attribute-routing/ –

Odpowiedz

21

Możesz dodać trasę do sposobu działania także przesłanianie RoutePrefix z "~"

przykład:

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

Wskazówka linia: [Route ("~/ api/v1/{abc}/{xyz?}/Entity ")]

+0

Wow, cool! Jest to bardzo przydatne. – Dan

+1

Powinna być zaakceptowana odpowiedź –

+2

Dlaczego jest to zaakceptowana odpowiedź? Prefiksy wielu tras mogą pomóc w uniknięciu wielu atrybutów "[Route]" dla każdej metody i znacznie ułatwiają konserwację dużego kontrolera api –