http://xxxx/api/garmin/data引发以下错误
找不到与名为“ 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”。
我究竟做错了什么?我该如何解决错误?
最佳答案
您的控制器名称Gramin
,但是您尝试使用garmin
访问它。以此方式路由的地图
public class GraminController : ApiController
{
// GET
[HttpGet]
[Route("api/garmin/data")]
public string GetGarminData()
{
return "value";
}
}
或者如果您想使用自己的方式拨打电话
http://xxxx/api/gramin/data