Enum
enum
キーワードを使用して、リクエスト パラメータまたはモデル プロパティの可能な値を指定できます。たとえば、
1GET /items?sort=[asc|desc]
の並べ替えパラメータは、次のように記述できます。
1paths:2 /items:3 get:4 parameters:5 - in: query6 name: sort7 description: Sort order8 type: string9 enum: [asc, desc]
YAML では、1 行に 1 つの enum 値を指定することもできます。
1enum:2 - asc3 - desc
enum 内のすべての値は、指定された型に準拠する必要があります。enum 項目の説明を指定する必要がある場合は、パラメータまたはプロパティの description
でこれを行うことができます。
1type: string2enum:3 - asc4 - desc5description: >6 Sort order:7 * asc - Ascending, from A to Z.8 * desc - Descending, from Z to A.
再利用可能な Enum
再利用可能な enum 定義は、OpenAPI 3.0 でサポートされています。
Swagger 2.0 には再利用可能な enum の組み込みサポートはありませんが、ツールが YAML アンカーをサポートしている場合、YAML アンカーを使用して YAML で定義できます。アンカーは YAML の便利な機能で、&anchor-name
でキーをマークし、さらに下で *anchor-name
を使用してそのキーの値を参照できます。これにより、YAML ファイル全体でコンテンツを簡単に複製できます。
注:アンカー (&
) は、使用する前に定義する必要があります。
1definitions:2 Colors:3 type: string4 enum: &COLORS5 - black6 - white7 - red8 - green9 - blue10 # OR:11 # enum: &COLORS [black, white, red, green, blue]12
13paths:14 /products:15 get:16 parameters:17 - in: query18 name: color19 required: true20 type: string21 enum: *COLORS22 responses:23 200:24 description: OK
ツールの YAML パーサーが YAML マージ キー (<<
) をサポートしている場合、このトリックを使用して型と enum 値の両方を参照できます。
1definitions:2 Colors: &COLORS3 type: string4 enum: [black, white, red, green, blue]5paths:6 /products:7 get:8 parameters:9 - in: query10 name: color11 required: true12 <<: *COLORS13 responses:14 200:15 description: OK
お探しのものが見つかりませんでしたか? コミュニティに質問する
間違いを見つけましたか? お知らせください