【OpenAPI】allOfやoneOfを使用して、Enumプロパティをオーバライドして抽出したEnumプロパティを生成するぞ
1. allOfを使った方法
特定のEnumの値だけを含むEnumスキーマを定義
components:
schemas:
MyEnum:
type: string
enum:
- VALUE1
- VALUE2
Enumを含むスキーマを定義し、propertiesセクションでそのEnumを指定します
components:
schemas:
MyObject:
type: object
properties:
myEnumProperty:
$ref: '#/components/schemas/MyEnum'
特定のEnumのみを使用する場合、それを示す新しいスキーマを作成し、allOfプロパティを使用してEnumを含むスキーマと結合します
components:
schemas:
MySpecificEnumObject:
allOf:
- $ref: '#/components/schemas/MyObject'
- type: object
properties:
myEnumProperty:
enum:
- VALUE1
2. oneOfを使った方法
allofの時と同じくEnumのスキーマを定義
omponents:
schemas:
MyEnum:
type: string
enum:
- VALUE1
- VALUE2
oneOfを使用して、特定のEnumのバリエーションを示す新しいスキーマを作成
components:
schemas:
MySpecificEnumObject:
type: object
properties:
myEnumProperty:
$ref: '#/components/schemas/MyEnum'
required:
- myEnumProperty
oneOf:
- required:
- myEnumProperty
properties:
myEnumProperty:
enum:
- VALUE1
是非フォローしてください
最新の情報をお伝えします