Asp.net URI中复杂类型的WebAPI帮助页
我正在使用提供文档。 除了在uri中使用复杂模型外,文档的生成很好(来自xml注释)。 所以,我得到了以下文件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) {
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吗?