3

我正在使用WebAPI 帮助页面来提供文档。文档生成良好(来自 xml 注释),除非我在 uri 中使用复杂模型。所以,我得到以下文档

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/string 参数的其他方法,它按预期工作。如果我删除[FromUri]属性它也可以工作,但是然后

所以问题是:我怎样才能显示这些方法的文档?如何为取自 URI 的复杂类型提供文档?

4

2 回答 2

3

它输出“没有可用的文档”的原因。是因为我的TstModel类是一个嵌套类(在控制器内定义),这使得 WebAPI 帮助生成错误的 XPath 来查找 xml-comments。搬出TstModel控制器有帮助。

PS HelpPage 代码中的修复很简单,我只是不知道在哪里报告错误和修复(目前在 NuGet 中编写):)

它的:XmlDocumentationProvider.GetTypeName

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

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

于 2013-03-14T14:30:30.477 回答
3

关于您关于未为使用 [FromUri] 属性修饰的复杂类型生成帮助的原始问题,这是我们将要处理的已知问题。

于 2013-03-14T16:35:09.780 回答