以下の例では、 "Vendor"は必須であり、ある値(minLength = 1)を持つ必要がありますが、Mode = Groundの場合、常に空白として返されます。 jsonレスポンスの下。 JSONレスポンスは以下のようになります。条件付きJsonスキーマ - レスポンス依存
{
"Res": {
"Mem": [
{
"Mode": "Flight",
"Vendor": "YP",
"MemNum": "222"
},
{
"Mode": "Ground",
"Vendor": "",
"MemNum": "242"
}
]
}
}
JSONレスポンスでは、「モード」の両方が常に返されます。 私が指定できるカスタマイズされたスキーマを作成できますか? "Mode" = "Ground"の場合、スキーマ1で検証します。 他のすべての "モード"は検証のためにschema2から参照を取得します。
私は以下を試みたが望ましい結果を得ることができている:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"required": [
"Res"
],
"properties": {
"Res": {
"type": "object",
"required": [
"Mem"
],
"properties": {
"Mem": {
"type": "array",
"allOf": [
{
"$ref": "#/definitions/Flight"
},
{
"$ref": "#/definitions/Ground"
}
]
}
}
}
},
"definitions": {
"Flight": {
"properties": {
"Mode": {
"enum": [
"Flight"
]
},
"VendorCode": {
"type": "string",
"minLength": 1,
"optional": false
},
"MemNum": {
"type": "string",
"minLength": 1,
"optional": false
}
}
},
"Ground": {
"properties": {
"Mode": {
"enum": [
"Ground"
]
},
"VendorCode": {
"type": "string"
},
"MemNum": {
"type": "string",
"minLength": 1,
"optional": false
}
}
}
}
}
は、所望の結果を達成するために役立つことができJSONスキーマ内の他の概念はありますか?
コードを正しくフォーマットしてください。質問のフォーマットが間違っていると、あなたの質問が重要ではないというメッセージが送信され、潜在的な回答者に障壁がもたらされます。 –
トムありがとう、私は書式を修正しました! – GuruAPI