属性“ [[ApiExplorerSettings(IgnoreApi = true)]””的作用是什么?

时间:2019-08-19 15:02:21

标签: c# asp.net swagger

编辑:我知道一般的属性是什么,问题仅在于此特定属性。抱歉造成混乱!

我已经阅读了以下 question this 一本,它们指出了如何使用该属性忽略生成的有关特定方法或整个控制器的swagger / swashbuckle文档。 (文档是我相信列出所有api的页面吗?)

但是除了swagger / swashbuckle(这是一个NuGet包)之外,此属性在ASP.NET中还具有什么其他功能?

2 个答案:

答案 0 :(得分:9)

当应用于控制器上的公共方法时,它将阻止该方法出现在swagger ui中。

答案 1 :(得分:1)

首先要澄清的是,C#中的属性本身不会触发任何操作。外部代码搜索标记有特定属性的类,方法或属性,并采取相应措施。

当然,ASP.NET MVC中有许多构建基块,有时可能会造成混淆。

正如您所注意到的,此属性由Swagger使用,(至少在.NET内核中)由IApiDescriptionProvider和其他相关接口的给定实现使用,但这仅在您实际使用它们时才有效(通过在Startup.cs中进行配置)

(有关更多详细信息和示例,请参见https://andrewlock.net/introduction-to-the-apiexplorer-in-asp-net-core/