0

Есть ли способ проинструктировать WebApi игнорировать значение данных маршрута (шаблон в URL-адресе маршрута) при привязке значений маршрута к параметрам действия контроллера?Как игнорировать данные маршрута при привязке параметров

Пример:

Имея этот маршрут заявление

routes.Map("RouteName", "/api/{v}/{controller}/{action}/{id}"); 

Я хотел бы, чтобы игнорировать {v} шаблон, как если бы оно не было, так, например, этот URL

"/api/123/Testing/Customer/24" 

отображались бы методу GetCustomer ниже:

public class TestingController 
{ 
    [HttpGet, ActionName("Customer")] 
    public CustomerData GetCustomer(int id) 
    { 
    return ... 
    } 
} 

Я не хочу добавлять параметр int v в метод GetCustomer, поскольку я не буду его использовать каким-либо образом. Я просто хочу, чтобы он присутствовал в URL-адресе (не нужно спрашивать, почему, я просто хочу знать, возможно ли это, либо с встроенной функциональностью WebApi, либо с помощью специального расширения)

ответ

0

Кажется, что эта функциональность включен по умолчанию в WebApi. В частности, все параметры шаблона в шаблоне routeTemplate, которые не имеют эквивалентного параметра в параметрах метода, игнорируются.

Пример, который я дал в вопросе, работает из коробки. Параметр шаблона v игнорируется, и URL-адрес действительно отображается на нужный метод.

Смежные вопросы