Asp.net URI中复杂类型的WebAPI帮助页

Asp.net URI中复杂类型的WebAPI帮助页,asp.net,asp.net-mvc,asp.net-web-api,Asp.net,Asp.net Mvc,Asp.net Web Api,我正在使用提供文档。 除了在uri中使用复杂模型外,文档的生成很好(来自xml注释)。 所以,我得到了以下文件 GET service/Tst2 No documentation available. 对于方法: /// <summary> /// description /// </summary> [HttpGet] public string Tst([FromUri] TstModel filter) {

我正在使用提供文档。 除了在uri中使用复杂模型外,文档的生成很好(来自xml注释)。 所以,我得到了以下文件

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; }
    }
//
///描述
/// 
[HttpGet]
公共字符串Tst([FromUri]Tst模型筛选器)
{
返回null;
}
公共类TST模型
{
公共int Id{get;set;}
}
对于具有简单int/string参数的其他方法,它可以按预期工作。如果我删除[FromUri]属性,它也可以工作,但是


所以问题是:如何显示这些方法的文档?如何为从URI获取的复杂类型提供文档?

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

附言。 帮助页面代码中的修复很简单,我只是不知道在哪里报告错误和修复(目前使用NuGet编写):)

它是:
XmlDocumentationProvider.GetTypeName

第109行:
返回类型.FullName.Replace(“+”,”)//was:返回类型。全名

第101行:
string typeName=genericType.FullName.Replace(“+”,”)//was:string typeName=genericType.FullName

关于您最初提出的关于未为使用[FromUri]属性修饰的复杂类型生成帮助的问题,这是我们将要解决的一个已知问题。

问题的第一部分已解决,第二个问题是-如何为如此复杂的类参数添加文档?您可以在这里报告错误:现在已经修复了吗?在你发表评论四年后,我(在WebAPI2.x上)遇到了类似的问题。放一个模型活页夹似乎没有帮助。不过,使用类型转换器可以解决这个问题。你有这个的bug ID吗?