用 Swagger 描述多范围参数

Describe a multiple range parameter with Swagger

我想在Swagger 2.0中描述一个参数定义如下:

这意味着它有两个有效间隔,因此两个最大值和最小值要定义。 Swagger 规范是否支持这种定义?

这无法在 OpenAPI/Swagger 2.0 中进行描述,但可以在 OpenAPI 3.x 中使用 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* 关键字在 JSON 架构草案 6 中 changed from boolean to numbers。OAS 3.1 默认使用 JSON 架构 2020-12。