我正在使用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中获取的复杂类型的文档?
答案 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]属性修饰的复杂类型无法生成帮助的原始问题,它是我们将要处理的已知问题。