如何指示禁止在 swagger 文档中使用某个数字?
How does one indicate that a number is prohibited for use in swagger documentation?
我正在尝试在名为 myNumber
的 swagger 文档中指定一个 属性,它可以是 [-1, 10] 范围内的任何整数,但 0 除外。这就是我目前所拥有的:
myNumber:
type: integer
description: You can use any number in [-1, 10] except 0.
minimum: -1
maximum: 10
如何明确禁止0
?我在 openAPI 文档中没有找到这方面的任何规范。这甚至可能吗?
选项 1:枚举
如果可能值的列表很小,您可以将它们全部列出在 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.x。
选项 2:一个
在 OpenAPI 3.x 中,您可以使用 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
在 OpenAPI 3.1 中,您可以将 enum: [-1]
替换为 const: -1
。
选项 3:不是
OpenAPI 3.x 还支持 not
定义实例 不得 满足的条件。例如,您排除值 0,如下所示:
myNumber:
type: integer
description: You can use any number in [-1, 10] except 0.
minimum: -1
maximum: 10
not:
enum: [0]
在 OpenAPI 3.1 中,您可以将 enum: [0]
替换为 const: 0
。
但是,not
的实际工具支持可能会有所不同。
我正在尝试在名为 myNumber
的 swagger 文档中指定一个 属性,它可以是 [-1, 10] 范围内的任何整数,但 0 除外。这就是我目前所拥有的:
myNumber:
type: integer
description: You can use any number in [-1, 10] except 0.
minimum: -1
maximum: 10
如何明确禁止0
?我在 openAPI 文档中没有找到这方面的任何规范。这甚至可能吗?
选项 1:枚举
如果可能值的列表很小,您可以将它们全部列出在 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.x。
选项 2:一个
在 OpenAPI 3.x 中,您可以使用 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
在 OpenAPI 3.1 中,您可以将 enum: [-1]
替换为 const: -1
。
选项 3:不是
OpenAPI 3.x 还支持 not
定义实例 不得 满足的条件。例如,您排除值 0,如下所示:
myNumber:
type: integer
description: You can use any number in [-1, 10] except 0.
minimum: -1
maximum: 10
not:
enum: [0]
在 OpenAPI 3.1 中,您可以将 enum: [0]
替换为 const: 0
。
但是,not
的实际工具支持可能会有所不同。