3

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

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

public class ExampleController : ApiController

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

public class ExampleController : ApiBaseController

...

public class ApiBaseController: ApiController

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

4

2 回答 2

2

这是我在实验中学到的一个技巧。

文档在很大程度上依赖于 API 配置中的路由。如果你的控制器没有被路由覆盖,它就不会出现。此外,API 配置中的路由顺序是文档中操作的顺序。

为了涵盖这两点,我为每个控制器创建了命名路由。这有一个额外的好处,那就是使每条路由都是特定的,而不是一条带有很多可选位的单一路由。这可以确保我的所有操作都以良好的顺序出现在文档中。

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

于 2013-09-30T07:23:36.223 回答
0

检查基类中的权限。我遇到了同样的问题,这是应该设置为内部保护的方法的结果。

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

如果它仍然不起作用,请发布您的代码。

像肉汁一样工作:)

于 2014-09-01T14:01:18.507 回答