How do I specify multiple hosts in OpenAPI (Swagger)?

后端 未结 2 1369
误落风尘
误落风尘 2021-01-12 14:19

Right now my OpenAPI 2.0 YAML file has only one host URL:

host: petstore.test.com
basePath: /

Can I use multiple hosts like this?



        
相关标签:
2条回答
  • 2021-01-12 15:00

    OpenAPI 2.0 (Swagger 2.0) only supports a single host with multiple schemes (HTTP/HTTPS/etc.), so you can effectively have two hosts that only vary in the scheme:

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

    The latest version, OpenAPI 3.0, supports multiple hosts with different schemes and base paths:

    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
    

    For more examples, see this answer.

    0 讨论(0)
  • 2021-01-12 15:03

    It is now possible in OpenApi 3.0

    Here is a description:

    Multiple hosts are supported in OpenAPI 3.0. 2.0 supports only one host per API specification (or two if you count HTTP and HTTPS as different hosts). A possible way to target multiple hosts is to omit the host and schema from your specification and serve it from each host. In this case, each copy of the specification will target the corresponding host.

    0 讨论(0)
提交回复
热议问题