2016-07-25 81 views
2

http://xxxx/api/garmin/data設置正確路線路徑引發以下錯誤如何在Asp.Net網絡API

沒有類型被發現,命名爲'Garmin的控制器相匹配。

下面是Global.asax

void Application_Start(object sender, EventArgs e) 
{ 
    RouteTable.Routes.MapHttpRoute(
     name: "ControllerAndAction", 
     routeTemplate: "api/{controller}/{action}/{id}", 
     defaults: new { id = System.Web.Http.RouteParameter.Optional } 
    ); 

    GlobalConfiguration.Configuration.Formatters.JsonFormatter.MediaTypeMappings.Add(new QueryStringMapping("type", "json", new MediaTypeHeaderValue("application/json"))); 
    GlobalConfiguration.Configuration.Formatters.XmlFormatter.MediaTypeMappings.Add(new QueryStringMapping("type", "xml", new MediaTypeHeaderValue("application/xml"))); 
} 

控制器代碼代碼

public class GraminController : ApiController 
{ 
    // GET 
    [HttpGet] 
    [ActionName("data")] 
    public string GetGarminData() 
    { 
     return "value"; 
    } 
} 

上面的代碼開發服務器上工作,但拋出下面的錯誤

沒有HTTP找到與請求匹配的資源URI'http://xxxx/api/garmin/data'。沒有發現類型爲 的匹配名爲 'garmin'的控制器。

我在做什麼錯?我該如何解決這個錯誤?

+0

是,在提到提琴手「內容類型:應用程序/ JSON的; charset = utf-8' 我正在嘗試做一個簡單的GET請求工作,但那也失敗了。 –

回答

1

您的控制器名稱Gramin但您試圖使用garmin訪問它。地圖你的路線這樣

public class GraminController : ApiController 
{ 
    // GET 
    [HttpGet] 
    [Route("api/garmin/data")] 
    public string GetGarminData() 
    { 
     return "value"; 
    } 
} 

,或者如果你想用你的方式,然後撥打電話

http://xxxx/api/gramin/data

+0

謝謝Mostafiz .....我不知何故錯過了。這樣一個愚蠢的錯誤。現在正在工作。簡單拼寫錯誤的原因,花在試圖排除故障時。非常感激。 –

+0

歡迎您,快樂編碼:) – Mostafiz

+0

我可以在上面的代碼中提出一個問題... [Route ...]我無法定義[Route] attritube。是否有需要導入的名稱空間? –