ASP.NET Web API帮助页面省略从基本控制器继承的控制器

时间:2013-09-16 13:45:03

标签: asp.net-web-api asp.net-web-api-helppages

我有一个控制器,我想生成使用ASP.NET Web API帮助页面的文档。

当我直接从ApiController继承时,文档会出现:

public class ExampleController : ApiController

但是当我从基本控制器继承时,它被省略:

public class ExampleController : ApiBaseController

...

public class ApiBaseController: ApiController

我已经切换到委托而不是继承,但我想知道如何使它继承。

2 个答案:

答案 0 :(得分:1)

这是我在实验中提到的一个提示。

文档严重依赖于API配置中的路由。如果您的控制器未被路线覆盖,则不会显示。此外,API配置中路由的顺序是文档中操作的顺序。

为了涵盖这两点,我为每个控制器创建了命名路由。这具有使每个路由特定的附加益处,而不是具有许多可选位的单个路由。这样可以确保我的所有操作都以良好的顺序出现在文档中。

我还添加了API测试程序,因此可以直接从文档中调用API。

答案 1 :(得分:0)

检查基类中的权限。我有同样的问题,并且是应该被设置为内部受保护的方法的结果。

确保父项需要访问的所有方法都设置为internal,并且任何覆盖ApiController的方法都设置为protected。

如果代码仍无效,请发布代码。

像Gravy一样工作:)