URI中的复杂类型的WebAPI帮助页面

时间:2013-03-14 13:02:55

标签: asp.net asp.net-mvc asp.net-web-api

我正在使用WebAPI help page来提供文档。 文档生成正常(来自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中获取的复杂类型的文档?

2 个答案:

答案 0 :(得分:3)

之所以输出“没有文件可用”。是因为我的TstModel类是一个嵌套类(在控制器中定义),这使得WebAPI帮助生成错误的XPath来查找xml-comments。 将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

答案 1 :(得分:3)

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

相关问题