Asp.net mvc 404调用Web API v2时
我有一个Web Api控制器,当我调用它时返回404Asp.net mvc 404调用Web API v2时,asp.net-mvc,asp.net-mvc-routing,asp.net-web-api2,Asp.net Mvc,Asp.net Mvc Routing,Asp.net Web Api2,我有一个Web Api控制器,当我调用它时返回404 public class ValuesController : ApiController { [HttpGet] public static string Test() { return "Hola!"; } } 这是路线图 config.Routes.MapHttpRoute( name: "ActionApi"
public class ValuesController : ApiController
{
[HttpGet]
public static string Test()
{
return "Hola!";
}
}
这是路线图
config.Routes.MapHttpRoute(
name: "ActionApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
这是路由调试器信息。我得到404以下的要求
http://localhost:8081/api/values/test
http://localhost:8081/api/values/get
知道它为什么会失败吗?您的操作被定义为静态方法。动作不能是静态的
[HttpGet]
public static string Test()
{
return "Hola!";
}
让它成为一个实例方法,你的代码就会工作
[HttpGet]
public string Test()
{
return "Hola!";
}