OAS 3 本指南适用于 OpenAPI 3.0。如果您使用 OpenAPI 2.0,请查看我们的 OpenAPI 2.0 指南

枚举

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

可空枚举

可空枚举可以定义如下

type: string
nullable: true  # <---
enum:
  - asc
  - desc
  - null        # <--- without quotes, i.e. null not "null"

请注意,null 必须明确包含在 enum 值列表中。仅使用 nullable: true 在这里是不够的

可重用枚举

在 OpenAPI 3.0 中,操作参数和数据模型都使用 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

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