お探しの資料はこちらです。
一部の検証キーワードは、1 つ以上のプリミティブ型にのみ適用されます。インスタンスのプリミティブ型を特定のキーワードで検証できない場合、このキーワードとインスタンスの検証は成功する必要があります。
概念を説明するために、このスキーマを例として取り上げます。
{
"items": { "type": "string" },
"maxLength": 2,
"required": ["foo"]
}
["foo"]
検証する
items
->合格
maxLength
-> 無視
required
-> 無視
{ "foo": "bar" }
検証する
items
-> 無視
maxLength
-> 無視
required
->合格
"foo"
検証しません
items
-> 無視
maxLength
-> 失敗
required
-> 無視
3
検証する
items
-> 無視
maxLength
-> 無視
required
-> 無視
この方法でスキーマを作成することは可能ですが、1 つのスキーマ内でタイプ キーワードを混在させないことをお勧めします。anyOf
代わりに使用すると、より読みやすいスキーマが得られます。
{
"anyOf": [
{
"type": "string",
"maxLength": 2
},
{
"type": "array",
"items": { "type": "string" }
},
{
"type": "object",
"required": "foo"
}
]
}