WebAPI帮助页面 - 读取控制器属性

时间:2014-09-17 21:15:07

标签: c# asp.net-mvc asp.net-mvc-4 asp.net-web-api

我正在使用nuget的WebAPI帮助页面项目来记录我的ASP.Net WebAPI服务。

我有几个具有[Authorize]属性和几个自定义属性的控制器。

我无法实现的是将属性添加到文档中。

因此,如果控制器被标记为[授权],那么控制器的文档会说类似于"这个XYZ控制器需要授权"

所以我的问题是我如何修改WebAPI帮助代码,以记录我的控制器上的属性。

模型级别属性没有问题。

1 个答案:

答案 0 :(得分:3)

您可以在XmlDocumentationProvider.cs修改已安装的Areas\HelpPage\。修改GetDocumentation(HttpControllerDescriptor controllerDescriptor)方法。您可以检查装饰的任何属性,而不是控制器类型controllerDescriptor.ControllerType,并相应地更改文档。

升级HelpPage nuget包时,您可能会发现上述操作不方便,因为您可能希望使用最新位覆盖内容...因此您可以创建一个继承自XmlDocumentationProvider的自定义文档提供程序而是对已安装的HelpPageConfig.c文件进行少量修改,并提及您的自定义提供程序。