Вариант 1: enum
Если список возможных значений мал, вы можете перечислить их все в enum
:
myNumber:
type: integer
description: You can use any number in [-1, 10] except 0.
enum: [-1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Это простейшее решение и работает в OpenAPI 2.0 и 3.0.
Опция 2: oneOf
В OpenAPI 3.0 вы можете использовать oneOf
для определения двух диапазонов возможных значений:
myNumber:
type: integer
description: You can use any number in [-1, 10] except 0.
oneOf:
- enum: [-1] # shorthand for `minimum: -1` + `maximum: -1`
- minimum: 1
maximum: 10
Опция 3 : not
OpenAPI 3.0 также поддерживает not
для определения условий, которым экземпляр не должен удовлетворять . Например, вы исключаете значение 0 следующим образом:
myNumber:
type: integer
description: You can use any number in [-1, 10] except 0.
minimum: -1
maximum: 10
not:
enum: [0]
Однако фактическая поддержка инструментов для not
может отличаться.