2015-01-16 44 views
0

我是ASP.Net的新手。剛開始學習創建Web API。以下是我嘗試執行的Hello World示例。我正在使用visual studio 2013.在WebApiConfig路由

下面是我的控制器類。

public class HW : ApiController 
{ 
    [HttpGet] 
    public string SayHello() 
    { 
     return "Hello World!"; 
    } 
} 

我的問題是,如何路由Web請求,以便它映射到SayHello方法。

這是我目前配置在WebApiConfig.cs映射

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

我得到「沒有類型被發現,名爲HW控制器匹配」的錯誤。

如果我使用Route註解它的作品。

〔路線( 「API/HW/SayHello的」)]

回答

0

MVC適用於使用命名約定。其中一個慣例是控制器命名結束控制器。因此,當您的路線狀態爲controller = "HW"時,預計會有一個名爲HWController的控制器。

如果您將控制器從HW重命名爲HWController,它應該可以工作。

+0

我做了這個改變。將其重命名爲HWController。還是一樣。我的webAPI調用如下所示: http:// localhost:52242/api/HWController/SayHello –