跳到内容

枚举

您可以使用 enum 关键字来指定请求参数或模型属性的可能值。例如,GET /items?sort=[asc|desc] 中的 sort 参数可以描述为

1
paths:
2
/items:
3
get:
4
parameters:
5
- in: query
6
name: sort
7
description: Sort order
8
schema:
9
type: string
10
enum: [asc, desc]

在 YAML 中,您也可以每行指定一个枚举值

1
enum:
2
- asc
3
- desc

枚举中的所有值都必须遵守指定的 type。如果您需要为枚举项指定描述,您可以在参数或属性的 description 中进行此操作

1
parameters:
2
- in: query
3
name: sort
4
schema:
5
type: string
6
enum: [asc, desc]
7
description: >
8
Sort order:
9
* `asc` - Ascending, from A to Z
10
* `desc` - Descending, from Z to A

可空枚举

可空枚举可以定义如下

1
type: string
2
nullable: true # <---
3
enum:
4
- asc
5
- desc
6
- null # <--- without quotes, i.e. null not "null"

请注意,null 必须显式包含在 enum 值列表中。单独使用 nullable: true 是不够的

可重用枚举

在 OpenAPI 3.0 中,操作参数和数据模型都使用 schema,从而可以轻松地重用数据类型。您可以在全局 components 部分中定义可重用枚举,并通过其他地方的 $ref 引用它们。

1
paths:
2
/products:
3
get:
4
parameters:
5
- in: query
6
name: color
7
required: true
8
schema:
9
$ref: "#/components/schemas/Color"
10
responses:
11
"200":
12
description: OK
13
components:
14
schemas:
15
Color:
16
type: string
17
enum:
18
- black
19
- white
20
- red
21
- green
22
- blue

没有找到您要找的内容?请咨询社区
发现错误? 请告知我们