2015-10-22 16 views
1

我知道我以前做過這些,但是當我從VS創建默認WebAPI並嘗試添加MySpecialMethod之類的簡單方法,然後使用httpClient從客戶端使用它時,它帶有404錯誤或ID參數丟失創建與其他方法名稱的WebAPI

我可以調用價值/做這樣的事情找:

GetAsync("api/Values").result 

,但如果我這樣做

GetAsync("api/Values/MySpecialMethod").result 

在這是行不通的對於簡單的測試,兩種方法是相同的。

回答

3

確保您WebApiConfig配置了/api/{controller}/{action}/{id}條目。這聽起來像你ony有/api/{controller}/{id}

2

嘗試使用RouteAttribute來闡明您的方法路線。

public class MyController : ApiController 
{ 
    [Route("api/Values/MySpecialMethod")] 
    public string MySpecialMethod() 
    { 

    } 
} 

如果要使用此方法時,一定要更新您的RouteConfig在AppStart的包含以下

public static void RegisterRoutes(RouteCollection routes) 
{ 
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

    routes.MapMvcAttributeRoutes(); 
} 
相關問題