首页 > 解决方案 > 如何在 Swagger UI 中隐藏服务器描述?

问题描述

我有一个包含多个服务器的 OpenAPI 3.0 定义:

servers:
- url: https://development.gigantic-server.com/v1
  description: Development server
- url: https://staging.gigantic-server.com/v1
  description: Staging server
- url: https://api.gigantic-server.com/v1
  description: Production server

在 Swagger UI 中呈现此定义时,“服务器”下拉列表会显示每个服务器的描述:

Swagger UI 中的服务器描述

是否可以从此下拉列表中隐藏服务器描述?

标签: yamlswagger-uiopenapiswagger-editoroas

解决方案


他们没有提供任何选项来替换此服务器description在另一个地方,但他们已经提到在代表 Serverdescription的对象的 swagger 规范中是可选的。

Swagger UI 没有为此提供任何渲染选项。

最好的用法description是用一个词定义,例如productiondevelopmentapistaging等。

如果您真的不想在下拉列表中,则可以将其从服务器列表中删除。

servers:
- url: https://development.gigantic-server.com/v1
- url: https://staging.gigantic-server.com/v1
- url: https://api.gigantic-server.com/v1

这部分我写给你的信息,关于如何使用oas-servers

我观察了您的服务器 url,这些可以很容易地在单个 url 中定义,如何?使用服务器变量

servers:
- url: https://{environment}.gigantic-server.com/{version}
  variables: 
    environment:
      enum:
        - 'development'
        - 'staging'
        - 'api'
    version:
      enum:
        - 'v1'

希望这有帮助。


推荐阅读