2013-03-14 41 views
3

我正在使用WebAPI help page來提供文檔。 除非在uri中使用複雜模型,否則文檔生成良好(來自xml註釋)。 所以,我得到以下文檔URI中複雜類型的WebAPI幫助頁面

GET service/Tst2 No documentation available. 

的方法:

/// <summary> 
    /// description 
    /// </summary> 
    [HttpGet] 
    public string Tst([FromUri] TstModel filter) 
    { 
     return null; 
    } 

    public class TstModel 
    { 
     public int Id { get; set; } 
    } 

與簡單的INT /字符串參數它按預期工作的其他方法。如果我刪除[FromUri]屬性也適用,但隨後

所以,問題是:我該怎麼讓文檔這樣的方法?我如何提供從URI獲取的複雜類型的文檔?

+0

問題的第一部分已解決,第二部分是 - 如何爲這樣複雜的類參數添加文檔? – Shaddix 2013-03-14 14:31:13

回答

3

關於你提到的關於未爲複合型裝飾用[FromUri]屬性生成的幫助原來的問題,它是一個已知的問題上,我們會努力。

+0

這是現在修好了?在您評論四年後,我遇到了類似的問題(在Web API 2.x上)。 放入模型活頁夾似乎沒有幫助。不過,使用類型轉換器可以解決這個問題。 你有這個錯誤ID嗎? – 2017-10-17 01:48:42

3

輸出「No documentation available」的原因。是因爲我的TstModel類是嵌套類(在控制器中定義),這使WebAPI幫助生成錯誤的XPath以查找xml註釋。 移動TstModel失控幫助。

P.S. 在HelpPage代碼的解決方法是容易的,我只是不知道在哪裏舉報錯誤&修復(在的NuGet此刻寫):)

它是:XmlDocumentationProvider.GetTypeName

線109:return type.FullName.Replace("+", "."); //was: return type.FullName

和線路101: string typeName = genericType.FullName.Replace("+", "."); //was: string typeName = genericType.FullName

+0

你可以在這裏報告錯誤:http://aspnetwebstack.codeplex.com/workitem/list/basic – 2013-03-14 16:05:58

+0

FYI ..我現在提交一個:http://aspnetwebstack.codeplex.com/workitem/905 – 2013-03-14 22:42:56