0

Когда я ударять URL: http://localhost/api/adxxx/getDeals/?input=2Нет HTTP ресурс не найден, что соответствует запрос URI, тип не был найден соответствующий контроллер

Я получаю следующее сообщение об ошибке:

"Message": "No HTTP resource was found that matches the request URI ' http://localhost/api/adxxx/getDeals/?input=2 '.",

"MessageDetail": "No type was found that matches the controller named 'adxxx'."

public static class WebApiConfig 
    { 
     public static void Register(HttpConfiguration config) 
     {   
      config.DependencyResolver = new UnityResolver(UnityBootstrapper.Initialise()); 
      config.EnableCors(); 

      config.MapHttpAttributeRoutes(); 

      config.Routes.MapHttpRoute(
       name: "xxx.services", 
       routeTemplate: "webapi/{controller}/{action}" 
      ); 

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

      FluentValidationModelValidatorProvider.Configure(config); 
     } 
    } 


[Route("api/adxxx/getDeals/")] 
public IHttpActionResult GetDeals(int input) 
{ 
//code here 
} 

Как это решить? Очень похожий apis, имеющий другой маршрут, работают нормально.

Это произошло, когда я добавил хорошую проверку на мой api. Это обновил мой System.Web.Http.dll к v5.2.3.0

+0

у вас есть Атрибут RoutePrefix на вашем контроллере? если нет? то вы можете переместить «api/adxxx» в контроллеры RoutePrefix и оставить «getDeals» при атрибуте метода завершение слэша выглядит подозрительно также – Chizh

+0

У вас есть преимуществоконтроллер? –

+0

извините, хотелось замаскировать оригинальные имена. забыл изменить его в сообщении об ошибке. сделайте сейчас. – maverick

ответ

0

Исправьте маршрут конфигурации для позволить параметру

[Route("api/adxxx/getDeals/{input}")] 
public IHttpActionResult GetDeals(int input) 
{ 
//code here 
} 

, а затем вы можете запросить его

http://localhost/api/adxxx/getDeals/2 
+0

не помогает. такая же ошибка. – maverick

+0

в вашем контроллере. Я получаю один ввод параметров, но ваша ошибка показывает несколько параметров в url 'http: // localhost/api/advantage/getDeals /? CityId = 2 & sc = 0 & so = 1 & pn = 1'', что является фактическим кодом одного параметр или несколько? – Mostafiz

+0

Его фактически несколько. но для упрощения я опубликовал один параметр. Изменено и сейчас. – maverick