2015-06-15 4 views
0

У меня есть одна проблема с маршрутизацией WebApi. Пожалуйста, найдите фрагмент кода ценам ниже WebApi Маршрутизация не работает

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

Ранее работал просто отлично, и нет никаких изменений в коде модуля отчетов и он перестал работать после развертывания другой версии. Мой URL является чем-то вроде что-

https://whatever.com/api/reports/list

Когда я удалить «/ список» из приведенного выше URL он работает, как ожидалось.

+1

Одна вещь, которую я замечаю, это ваши значения по умолчанию имеют необязательный параметр ('reports'), который не существует в вашем ** routeTemplate **. Если вам это нужно, убедитесь, что у вас есть '{reports}' где-то в вашем ** routeTemplate **. –

+0

Спасибо, Пол, нет, мне это не нужно, поскольку отчет не принимает никаких параметров. Для большего понимания это результат: на контроллере «Отчеты» не найдено никаких действий, которые соответствуют имени «список». « –

+0

Пол, полное сообщение: {« Сообщение »:« HTTP-ресурс не найден, что соответствует URI запроса 'http: // localhost: 54905/api/reports/list /'. "," MessageDetail ":« Никаких действий на контроллере «Отчеты» не найдено в списке «Список». »} –

ответ

0

Выпуск теперь исправлена ​​путем добавления

[HttpGet] 
[ActionName("list")] 

контроллер перед тем методом.

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