2013-12-19 33 views
0

我在MVC4項目中使用WebApi幫助頁面。WebApi HelpPage HttpResponseMessage SetActualResponseType

根據以下鏈接,http://blogs.msdn.com/b/yaohuang1/archive/2012/10/13/asp-net-web-api-help-page-part-2-providing-custom-samples-on-the-help-page.aspx我一直在設置HelpPageConfig來設置實際的響應類型。

我有上有兩個get方法控制器內HelpPageConfig.cs我已經添加了以下嘗試和表率ResponseBody格式

/// <summary> 
/// Get the list of plans for a specified portfolio 
/// </summary> 
/// <param name="portfolioIdentifier">Portfolio Identifier (guid)</param> 
/// <returns> 
/// Returns a list of <see cref="RestDTOs.Plan"/> Plan objects 
/// </returns> 
    public HttpResponseMessage Get(Guid portfolioIdentifier) 
    { 
    } 

/// <summary> 
/// Get full plan details. 
/// </summary> 
/// <param name="planIdentifier">Plan Identifier (guid)</param> 
/// <returns> 
/// Returns the <see cref="RestDTOs.Plan"/> Plan object 
/// </returns> 
[HttpGet] 
    public HttpResponseMessage Detail(Guid planIdentifier) 
    { 
    } 

config.SetActualResponseType(typeof(Plan), "Plan", "GET"); 

這是偉大的工作在Get方法上,但在Detail方法上沒有產生任何東西

我需要添加到HelpPageConfig以便web api幫助將選擇什麼爲Detail方法生成樣本

回答

3

嘗試config.SetActualResponseType(typeof(Plan), "Plan", "Detail"); ...此處的第二個參數需要一個操作名稱...我看到您正在使用Web API 1,所以只是FYI ...在Web API 2中,那裏是一個稱爲ResponseType的屬性,您可以使用該屬性對動作進行修飾以描述給定動作的實際響應類型。

+0

感謝您的。我誤解了actionName參數。我雖然只指定了http動詞,而不是實際的方法名稱 –

+0

MVC5有一個內置屬性來設置響應類型,請檢查下面的答案。 –

相關問題