OAS 2 此页面适用于 OpenAPI 规范版本 2(以前称为 Swagger)。若要了解最新版本,请访问 OpenAPI 3 页面.
枚举
您可以使用
enum
关键字指定请求参数或模型属性的可能值。例如,sort 参数在
GET /items?sort=[asc|desc]
可以描述为
paths:
/items:
get:
parameters:
- in: query
name: sort
description: Sort order
type: string
enum: [asc, desc]
在 YAML 中,您也可以每行指定一个枚举值
enum:
- asc
- desc
枚举中的所有值必须符合指定的类型。如果您需要为枚举项指定描述,您可以在参数或属性的
description
中执行此操作
type: string
enum:
- asc
- desc
description: >
Sort order:
* asc - Ascending, from A to Z.
* desc - Descending, from Z to A.
可重复使用的枚举
可重复使用的枚举定义在 OpenAPI 3.0 中受支持。
虽然 Swagger 2.0 不内置支持可重复使用的枚举,但可以使用 YAML 锚点在 YAML 中定义它们——前提是您的工具支持它们。锚点是 YAML 的一项便利功能,您可以在其中使用 &anchor-name
标记一个键,然后在后面使用 *anchor-name
来引用该键的值。这样,您就可以轻松地在整个 YAML 文件中复制内容。
注意: 必须在使用锚点 (&
) 之前定义它。
definitions:
Colors:
type: string
enum: &COLORS
- black
- white
- red
- green
- blue
# OR:
# enum: &COLORS [black, white, red, green, blue]
paths:
/products:
get:
parameters:
- in: query
name: color
required: true
type: string
enum: *COLORS
responses:
200:
description: OK
如果您的工具的 YAML 解析器支持 YAML 合并键 (
<<
),您可以使用此技巧来引用类型和枚举值。
definitions:
Colors: &COLORS
type: string
enum: [black, white, red, green, blue]
paths:
/products:
get:
parameters:
- in: query
name: color
required: true
<<: *COLORS
responses:
200:
description: OK
没有找到您要找的内容? 向社区提问
发现错误? 告知我们