我正在使用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中获取的复杂类型的文档?
关于原始问题,关于不使用[FromUri]属性修饰的复杂类型生成帮助,它是我们将要处理的已知问题。
之所以输出“没有文档可用”。是因为我的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