swaggeropenapiswagger-2.0

Describe a multiple range parameter with Swagger


I want to describe in Swagger 2.0 a parameter defined as follows :

This means that it has two valid intervals and thus two max and mins values to define. Does Swagger specification support that kind of definitions?


Solution

  • This cannot be described in OpenAPI/Swagger 2.0, but can be described in OpenAPI 3.x using oneOf.

    OpenAPI 3.0

    type: integer
    oneOf:
      - minimum: -20
        maximum: -10
        exclusiveMinimum: true
        exclusiveMaximum: true
      - minimum: 0
        maximum: 30
        exclusiveMinimum: true
        exclusiveMaximum: true
    

    OpenAPI 3.1

    type: integer
    oneOf:
      - exclusiveMinimum: -20
        exclusiveMaximum: -10
      - exclusiveMinimum: 0
        exclusiveMaximum: 30
    

    exclusiveM* keywords were changed from boolean to numbers in JSON Schema Draft 6. OAS 3.1 uses JSON Schema 2020-12 by default.