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

编辑:我知道属性通常做什么,问题仅针对这个特定属性。对困惑感到抱歉!

我已经阅读了以下问题以及这个问题,它指出如何使用该属性来忽略特定方法或整个控制器生成的 swagger/swashbuckle 文档。(文档是包含所有 api 的 swagger 页面,我相信?)

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


郎朗坤
浏览 132回答 3
3回答

小怪兽爱吃肉

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

Smart猫小萌

首先需要澄清的是,C# 中的属性本身不会触发任何内容。外部代码搜索标有特定属性的类、方法或属性,并采取相应的操作。当然,ASP.NET MVC 中有很多构建块,有时可能会令人困惑。Swagger 使用此属性来隐藏端点。也可以通过IApiDescriptionProvider和其他相关接口的给定实现使用(至少在 .NET core 中) ,但只有在实际使用它们时才有效(通过在 Startup.cs 中配置它们)

MM们

该属性有助于控制可见性。当我们想要隐藏特定的控制器或操作以使其不显示在 swagger UI 中时,我们可以在控制器类或操作方法上使用它。
打开App,查看更多内容
随时随地看视频慕课网APP