1

Как добавить дополнительные параметры в веб-маршрут api? Я хочу добавить один параметр маршрута по умолчанию и поддержкой версионности моего API, н так: api/{version}/{controller}/{action}/{id}Web.Api маршрутизация дополнительных параметров на маршрут

Я знаю, что {контроллер} отображается автоматически с именем контроллера и {action} мето именем, но что и как мог, чтобы {version} сопоставляются?

p.s. да, звучат очень странный вопрос, но ...

+2

Вам понадобится реализовать новый селектор контроллера. Существуют версии с открытым исходным кодом. –

ответ

3

В вашем WebApiConfig.cs, вам нужно иметь -

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

И когда вы выполняете значения контроллера getjson действия -

public string GetJson(string id) 
    { 
     return "me"; 
    } 

вы получаете следующие выходные -

enter image description here

Если вы хотите для версии ваших конечных точек WebAPI, затем используйте это namespaces approach. Кроме того, вы также можете использовать Http header approach. Или просто route approach.

+1

+1 для «маршрутного подхода», спасибо – Lev

+1

Спасибо, это именно то, что мне нужно – Levan

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