【问题标题】:How do I specify multiple hosts in OpenAPI (Swagger)?如何在 OpenAPI (Swagger) 中指定多个主机?
【发布时间】:2020-09-03 18:31:36
【问题描述】:

现在我的 OpenAPI 2.0 YAML 文件只有一个主机 URL:

host: petstore.test.com
basePath: /

我可以像这样使用多个主机吗?

host1: petstore.test.com
host2: petstore1.test.com
host3: petstore2.dev.com

【问题讨论】:

  • YAML 没有主机的概念

标签: swagger openapi swagger-2.0


【解决方案1】:

OpenAPI 2.0 (Swagger 2.0) 仅支持具有多个方案(HTTP/HTTPS/等)的单个主机,因此您可以有效地拥有两个仅在方案中有所不同的主机:

host: petstore.test.com
schemes:
  - http
  - https

最新版本OpenAPI 3.0,支持multiple hosts,具有不同的方案和基本路径:

servers:
  - url: https://petstore.prd.com
    description: Production server

  - url: {scheme}://petstore.dev.com/subpath
    description: Development server
    templates:
      scheme:
        enum:
          - http
          - https
        default: https

有关更多示例,请参阅this answer

【讨论】:

    【解决方案2】:

    现在可以在OpenApi 3.0

    这是一个描述:

    OpenAPI 3.0 支持多个主机。 2.0只支持一个 每个 API 规范的主机(如果您将 HTTP 和 HTTPS 计为两个,则为 不同的主机)。针对多个主机的一种可能方法是省略 您的规范中的主机和模式,并从每个 主持人。在这种情况下,规范的每个副本都将针对 对应的主机。

    【讨论】:

      猜你喜欢
      • 2017-03-31
      • 2021-12-22
      • 2015-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-28
      相关资源
      最近更新 更多