Asp.net web api ASP.NET Web API帮助页忽略从基本控制器继承的控制器
我有一个控制器,我想为使用ASP.NET Web API帮助页生成文档 当我直接从Asp.net web api ASP.NET Web API帮助页忽略从基本控制器继承的控制器,asp.net-web-api,asp.net-web-api-helppages,Asp.net Web Api,Asp.net Web Api Helppages,我有一个控制器,我想为使用ASP.NET Web API帮助页生成文档 当我直接从ApiController继承时,会出现以下文档: public class ExampleController : ApiController 但当我从基本控制器继承时,它被省略: public class ExampleController : ApiBaseController 我已经转向委托而不是继承,但我想知道如何使它与继承一起工作。以下是我在实验中学到的技巧 文档在很大程度上依赖于API配置中的路
ApiController
继承时,会出现以下文档:
public class ExampleController : ApiController
但当我从基本控制器继承时,它被省略:
public class ExampleController : ApiBaseController
我已经转向委托而不是继承,但我想知道如何使它与继承一起工作。以下是我在实验中学到的技巧 文档在很大程度上依赖于API配置中的路由。如果您的控制器未被路由覆盖,它将不会显示。此外,API配置中的路由顺序与文档中的操作顺序相同 为了覆盖这两个点,我为每个控制器创建了命名路由。这样做的另一个好处是使每个路由都是特定的,而不是一条包含大量可选位的路由。这确保我的所有操作都以良好的顺序出现在文档中
我还添加了API tester,因此可以直接从文档中调用API。检查基类中的权限。我也有同样的问题,这是应该设置为内部受保护的方法的结果 确保父项需要访问的所有方法都设置为“内部”,并且覆盖ApicController的所有方法都设置为“受保护” 如果代码仍然不起作用,请发布代码
工作原理类似于Gravy:)此代码是通过友好方式生成的,可能反射方法仅直接从ApiController调用child,我正在查看源代码,稍后会注意到您!您正在使用哪个版本的ASP.NET?我做了一个SimplesBaseApiController,然后包括了一个新的一个子基和文档工作!您是否碰巧在基本控制器上有名为
ApiExplorerSettings
的属性?我现在要强调区别,因为我有另一个控制器继承自同一个基本控制器,但出现在文档中。
public class ApiBaseController: ApiController