【OpenAPI】additionalProperties
additionalProperties はオブジェクト型のスキーマで「定義されていないキーを許可するかどうか」や「許可する場合の値の型」を指定するための仕組み。
code:yaml
type: object
properties:
name:
type: string
additionalProperties: true
true の場合は定義されていないプロパティも受け付ける。
上の例では型を指定していないため、型チェックもない。
レスポンス例:
code:json
{
"name": "Taro",
"age": 25,
"hobby": "guitar"
}
false の場合は定義していないプロパティはNG。スキーマにないキーを持つとバリデーションエラーになる。
code:json
{
"name": "Taro",
"age": 25 // エラー
}
型を指定する場合は以下のようになる
code:yaml
type: object
properties:
name:
type: string
additionalProperties:
type: string
レスポンス例:
code:json
{
"name": "Taro",
"nickname": "TJ",
"country": "Japan"
}