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

问题描述 投票:3回答:2

我正在使用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中获取的复杂类型的文档?

asp.net asp.net-mvc asp.net-web-api
2个回答
3
投票

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


3
投票

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

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

它是:XmlDocumentationProvider.GetTypeName

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

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

© www.soinside.com 2019 - 2024. All rights reserved.