我有一个非常基本的WebApi控制器,如下所示,它使用属性路由。
public class ValueController : ApiController
{
//This route returns a 404
[Route("api/v1/values")]
public Value GetValue()
{
return new Value() { Name = "api/v1/values" };
}
//this route works fine
[Route("api/v1/values/{valueId}")]
public Value GetValueById(int valueId)
{
return new Value() { Name = "api/v1/values/{valueId}" };
}
//this route works fine
[Route("api/v1/values/{valueId}/more")]
public Value GetChildOfValue()
{
return new Value() { Name = "api/v1/values/{valueId}/more" };
}
}
由于某种原因,第一条路线返回404。 其他两个都按预期工作。
在WebApiConfig中启用了属性路由。
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
}
}
关于为什么第一条路线不起作用的任何想法???
答案 0 :(得分:1)
以下是我如何调用它们并且一切正常,也许您正在请求/ api / v1 / value not value ** s **
http://localhost:62138/api/v1/values
http://localhost:62138/api/v1/values/22
http://localhost:62138/api/v1/values/22/more