7

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

host: petstore.test.com
basePath: /

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

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

2 回答 2

19

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

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

最新版本OpenAPI 3.0支持具有不同方案和基本路径的多个主机:

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

有关更多示例,请参阅此答案

于 2016-11-14T23:16:09.537 回答
0

现在可以在OpenApi 3.0中使用

这是一个描述:

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

于 2018-10-12T09:01:45.617 回答