Префикс маршрута может быть переопределен - PullRequest
0 голосов
/ 30 мая 2018

У меня есть базовый контроллер, который выполняет несколько постов и предложений, ниже я привел пример структуры get

[AxAuthorization(Resource = "Offers")]
[RoutePrefix("api/offer/v2/offers")]
public class OffersV2Controller : ApiController
{
    [HttpGet]
    [Route("{id}", Name = "OffersGetById")]
    public async Task<HttpResponseMessage> GetById([FromUri(Name = "id")]string OfferId)
    {
             ----
             -----
      }
}

, мы вызываем этот метод get через api / offer / v2 / offer / id, но какой-то другой потребитель, который пользуется нашими услугами, ему нравится называть api / v2 / offer / id, есть ли способ переопределить его?приведенный выше код является своего рода кодом, сгенерированным продуктом, который мы не хотим изменять в префиксе маршрута.

1 Ответ

0 голосов
/ 31 мая 2018
[Route("api/v2/offer/test")]
[Route("api/offer/v2/test")]

ИЛИ

     config.MapHttpAttributeRoutes();
        config.Routes.MapHttpRoute(
            name: "route1",
            routeTemplate: "test/v2/Values",
            defaults: new { controller = "Values", action = "Get" });
        config.Routes.MapHttpRoute(
            name: "route2",
            routeTemplate: "v2/test/Values",
            defaults: new { controller = "Values", action = "Get" });


        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

в webapiConfig.cs

...