В WebApiConfig
я добавил к маршрутам:Настройка WebAPI маршрутизация
config.Routes.MapHttpRoute(
name: "v1_Api",
routeTemplate: "api/v1/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "v1_ApiAction",
routeTemplate: "api/v1/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
В ApiController У меня 2 GET
действия:
[HttpGet]
public async Task<IEnumerable<RequestModel>> Pending(){}
[HttpGet]
public async Task<IEnumerable<RequestModel>> Resolved()
Когда я попытался позвонить по одному из этой акции от AngularJS службы I получил 500 ошибок.
несколько действий были обнаружено, что соответствует запросу
Когда я оставил только второй путь, который соответствует моему Action - это хорошо работает.
"/api/v1/RequestRecipient/Pending"
В чем может быть проблема в случае двух маршрутов?
какой тип вы ожидаете для 'id'. Вам может потребоваться добавить ограничение, поскольку, поскольку он стоит, указанный вами путь будет соответствовать обем шаблонам, поскольку id является необязательным – Nkosi