2014-09-28 110 views
1

我有一個非常基本的WebApi控制器,如下所示,它使用屬性路由。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(); 
    } 
} 

爲什麼第一條路線不起作用的任何想法?

回答

1

這裏是我叫他們和所有工作正常,也許你正在請求/ API/V1 /價值並不值計劃** S **

http://localhost:62138/api/v1/values 
http://localhost:62138/api/v1/values/22 
http://localhost:62138/api/v1/values/22/more