枚举
您可以使用enum关键字来指定请求参数或模型属性的可能值。
例如,sort中的sort参数GET /items?sort=[asc|desc]可以描述为:
paths:
/items:
get:
parameters:
- in: query
name: sort
description: Sort order
schema:
type: string
enum: [asc, desc]
在YAML中,您还可以为每行指定一个枚举值:
enum:
- asc
- desc
枚举中的所有值必须符合指定的值type。
如果您需要指定枚举项目的说明,则可以description在参数或属性中执行此操作:
parameters:
- in: query
name: sort
schema:
type: string
enum: [asc, desc]
description: >
Sort order:
* `asc` - Ascending, from A to Z
* `desc` - Descending, from Z to A
可重用的枚举
在OpenAPI 3.0中,操作参数和数据模型都使用a schema,这使得重用数据类型变得很容易。您可以在全局components 部分中定义可重用枚举并通过$ref别处引用它们。
paths:
/products:
get:
parameters:
- in: query
name: color
required: true
schema:
$ref: '#/components/schemas/Color'
responses:
'200':
description: OK
components:
schemas:
Color:
type: string
enum:
- black
- white
- red
- green
- blue