0

當我打的網址: 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,並在方法屬性 處結束「slade」,結束斜槓也看起來可疑 – 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

相關問題