2013-03-14 66 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