我有一个控制器,我想生成使用ASP.NET Web API帮助页面的文档。
当我直接从ApiController
继承时,文档会出现:
public class ExampleController : ApiController
但是当我从基本控制器继承时,它被省略:
public class ExampleController : ApiBaseController
...
public class ApiBaseController: ApiController
我已经切换到委托而不是继承,但我想知道如何使它继承。
答案 0 :(得分:1)
这是我在实验中提到的一个提示。
文档严重依赖于API配置中的路由。如果您的控制器未被路线覆盖,则不会显示。此外,API配置中路由的顺序是文档中操作的顺序。
为了涵盖这两点,我为每个控制器创建了命名路由。这具有使每个路由特定的附加益处,而不是具有许多可选位的单个路由。这样可以确保我的所有操作都以良好的顺序出现在文档中。
我还添加了API测试程序,因此可以直接从文档中调用API。
答案 1 :(得分:0)
检查基类中的权限。我有同样的问题,并且是应该被设置为内部受保护的方法的结果。
确保父项需要访问的所有方法都设置为internal,并且任何覆盖ApiController的方法都设置为protected。
如果代码仍无效,请发布代码。
像Gravy一样工作:)