如何防止子控制器 类 继承 [ApiExplorerSettings(IgnoreApi = true)]

How to prevent child controller classes inheriting [ApiExplorerSettings(IgnoreApi = true)]

我正在整理 C# 的 swagger 文档 API(使用 NSWAG) 它是使用 ASP.NET 框架编写的,而不是核心... 我不认为我可以利用 Swagger / Open 的一些最新功能 API

我们有一个 baseapicontroller 而不是继承 apicontroller

不想让baseapicontroller本身大摇大摆的出现

但我确实希望它的一些子控制器出现

如果我使用下面的,它会隐藏 base 和 children

#if DEBUG
    [ApiExplorerSettings(IgnoreApi = false)]
#else
    [ApiExplorerSettings(IgnoreApi = true)]
#endif  

解决方法是什么?

我读过 [AttributeUsage (Inherited = True)] 但我认为这会影响所有属性...这不是我想要的

实际上我想到了两件事让我意识到这是一个愚蠢的问题:

我可以应用指令在单个端点级别忽略 APIExplorerSettings,所以这是没有实际意义的

此外,baseApi 中的所有内容都受到保护,因此 Swagger 不会显示它...