用 Swagger 描述多范围参数
Describe a multiple range parameter with Swagger
我想在Swagger 2.0中描述一个参数定义如下:
参数取值区间为:-20 < parameter < -10 or 0 < parameter < 30
参数无效,如果:-10≤参数≤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。
我想在Swagger 2.0中描述一个参数定义如下:
参数取值区间为:-20 < parameter < -10 or 0 < parameter < 30
参数无效,如果:-10≤参数≤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。