404 не найден для веб-API-маршрута - PullRequest
0 голосов
/ 14 июня 2019

Я звоню в ASP.Net Web API, который возвращает 404 Not found. Контроллер распознан, но действие не найдено.

Я пытался использовать атрибут маршрутизации и [HttpGet] для действия. Я также попытался использовать стандартную маршрутизацию API в файле конфигурации WebAPI. Я даже пытался объединить их.

//[HttpGet]
//[Route("api/User")]
protected IHttpActionResult GetEmployeeHierarchyList()
{
  // ...
  return Json(results);
}
config.Routes.MapHttpRoute(
  name: "GetEmployeeHierarchyListTwo",
  routeTemplate: "api/{controller}/{action}",
  defaults: new { action = "GetEmployeeHierarchyList", }
);
return fetch("/api/User/" + api, {
  method: "GET",
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json',
    'credentials': 'include'
  }
}).then(response => {
  return response.json();
})

Я ожидаю, что действие вернет строку, которая будет обработана вызовом fetch.

Ответы [ 2 ]

3 голосов
/ 14 июня 2019

Сделайте ваш метод GetEmployeeHierarchyList() в контроллере общедоступным.

0 голосов
/ 14 июня 2019

Это должно работать штраф:

    [HttpGet]
    [Route("api/User")]
    public IHttpActionResult GetEmployeeHierarchyList()
    {
      // ...
      return Json(results);
    }
...