Rob*_*ert 2 c# asp.net swagger swashbuckle
默认情况下,是否可以在 swagger 中隐藏所有端点,并仅显示我用某种属性标记的端点?
您可以使用该属性:
[ApiExplorerSettings(IgnoreApi = true)]
Run Code Online (Sandbox Code Playgroud)
在您的自定义基本控制器上或仅在您想要隐藏的控制器上。如果您是从 ApiController 继承的,那么您可以创建自己的基本控制器,也可以用它标记每个控制器。无需执行单独的操作,因为这将侦听控制器的属性。如果你标记你的基本控制器,那么你需要手动标记动作或控制器:
[ApiExplorerSettings(IgnoreApi = false)]
Run Code Online (Sandbox Code Playgroud)
如果你想隐藏端点,因为它们不再被使用,但仍然希望代码在那里,那么你可以做两件事。
将这些方法的访问修饰符更改为私有
使用[Obsolete]属性标记要隐藏的所有项目,并在启动时更改 swagger 配置,如下所示:
httpConfiguration.EnableSwagger(c =>
{
c.IgnoreObsoleteActions();
});
Run Code Online (Sandbox Code Playgroud)
小智 3
您可以将以下属性添加到控制器以忽略所有端点。
[ApiExplorerSettings(IgnoreApi = true)]
Run Code Online (Sandbox Code Playgroud)
您可以为要显示的端点设置IgnoreApi = false 。
另一方面,如果您对特定方法应用IgnoreApi = false ,则只有该方法将被忽略。
| 归档时间: |
|
| 查看次数: |
3947 次 |
| 最近记录: |