2013-06-28 57 views
5

我通過nuget將ASP.NET 4 Web API幫助頁面包安裝到了我的Web Api項目中。出於某種原因,它不顯示所有的API端點。我有文檔設置爲使用XML。不知道爲什麼會發生這種情況,任何幫助表示讚賞。ASP.NET Web API幫助頁面包無法獲取所有api端點

這裏有一個例子控制器

public class ProductController : BaseController 
    { 
     // GET api/Product/Get/5/43324 
     [AcceptVerbs("GET")] 
     public ApiProduct Get(int id, [FromUri]int productId) 
     { 
      //// logic 
     } 
    } 

路線

config.Routes.MapHttpRoute(
       name: "api-info", 
       routeTemplate: "api/{controller}/{action}/{id}", 
       defaults: new { id = RouteParameter.Optional, action = RouteParameter.Optional } 
      ); 

感謝

+0

你可以分享他們沒有出現的控制器嗎? –

+0

更新了問題以顯示控制器,但並非顯示控制器的所有端點。 – tmjam

+0

也可以分享路線? –

回答

4

我想通了這個問題,現在的問題是,在網絡API沒有動作和方法直接映射到動詞和參數,更新我的路線以解決問題並顯示所有路線。

config.Routes.MapHttpRoute(
       name: "apsi-info", 
       routeTemplate: "api/{controller}/{id}", 
       defaults: new { id = RouteParameter.Optional } 
      ); 
0

如果以上方法不能解決您的問題 - 看看,並確保你是不是定義兩個AcceptVerbs屬性和它的快捷方式:

public class ProductController : BaseController 
{ 
    // GET api/Product/Get/5/43324 
    [AcceptVerbs("GET")] 
    [HttpGet] 
    public ApiProduct Get(int id, [FromUri]int productId) 
    { 
     //// logic 
    } 

}

刪除其中之一,它應該工作。