WebApiConfig中的路由

时间:2015-01-16 16:44:39

标签: asp.net-mvc-4 asp.net-web-api

我是ASP.Net的新手。刚开始学习创建Web API。下面是我试图执行的Hello World示例。我正在使用visual studio 2013。

以下是我的控制器类。

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的”)]

1 个答案:

答案 0 :(得分:0)

MVC使用命名约定。其中一个约定是控制器名称结束Controller。因此,当您的路由状态为controller = "HW"时,需要一个名为HWController的控制器。

如果将控制器从HW重命名为HWController,它应该可以工作。