Enum
enum
キーワードを使用して、リクエストパラメータまたはモデルプロパティの可能な値を指定できます。例えば、GET /items?sort=[asc|desc]
のソートパラメータは次のように記述できます。
1paths:2 /items:3 get:4 parameters:5 - in: query6 name: sort7 description: Sort order8 schema:9 type: string10 enum: [asc, desc]
YAMLでは、enum値を1行に1つずつ指定することもできます。
1enum:2 - asc3 - desc
enum内のすべての値は、指定されたtype
に準拠する必要があります。enum項目に説明を指定する必要がある場合は、パラメータまたはプロパティのdescription
でこれを行うことができます。
1parameters:2 - in: query3 name: sort4 schema:5 type: string6 enum: [asc, desc]7 description: >8 Sort order:9 * `asc` - Ascending, from A to Z10 * `desc` - Descending, from Z to A
Nullable enums
nullableなenumは次のように定義できます。
1type: string2nullable: true # <---3enum:4 - asc5 - desc6 - null # <--- without quotes, i.e. null not "null"
null
はenum
値のリストに明示的に含める必要があることに注意してください。nullable: true
だけでは、ここでは十分ではありません。
Reusable enums
OpenAPI 3.0では、操作パラメータとデータモデルの両方でschema
を使用するため、データ型を簡単に再利用できます。再利用可能なenumはグローバルなcomponents
セクションで定義し、他の場所から$ref
を介して参照できます。
1paths:2 /products:3 get:4 parameters:5 - in: query6 name: color7 required: true8 schema:9 $ref: "#/components/schemas/Color"10 responses:11 "200":12 description: OK13components:14 schemas:15 Color:16 type: string17 enum:18 - black19 - white20 - red21 - green22 - blue
お探しのものが見つかりませんでしたか? コミュニティに質問する
間違いを見つけましたか? お知らせください