Virendra S from Bangalore, Karnataka Ответов: 1

Ошибка: не найден HTTP-ресурс, соответствующий URI запроса


Контроллер:
public class testADOController : ApiController
   {
       [HttpGet]
       public testOrg GetOrgTreeStr(int emp_no)
       {
            return testadoBL.GetTestOrg(emp_no);
       }
   }



Данные файла WEbAPiCOnfig.cs:

config.MapHttpAttributeRoutes();

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



Данные конфигурационного файла маршрута:

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );
}



мой вызов API:
somelocalhost/api/testado/GetOrgTreeStr/100100


Ошибка:
{
Message: "No HTTP resource was found that matches the request URI 'http://localhost:53435/api/testado/GetOrgTreeStr/100100'.",
MessageDetail: "No action was found on the controller 'testADO' that matches the request.",
}


Что я уже пробовал:

http://localhost:53435/api/testado/GetOrgTreeStr/100100[^]

http://localhost:53435/api/testado/GetOrgTreeStr?=100100[^]

1 Ответов

Рейтинг:
7

Richard Deeming

В вашем маршруте этот параметр называется id.

В вашем методе этот параметр называется emp_no.

Либо измените имя параметра вашего метода:

public testOrg GetOrgTreeStr(int id)
или передайте значение в строке запроса:
somelocalhost/api/testado/GetOrgTreeStr?emp_no=100100