私は単純な JSON スキーマを書いてきましたが、もう少し複雑な API 入力呼び出しに出くわしました。3 つの非常に異なるタイプの JSON を使用できる安らかなエンド ルートが 1 つあります。
ローカルホスト/フー
取っていいよ:
{ "タイプ" : "アイスクリーム", "コーン" : "ワッフル" ...}
また
{"type" : "hot_dog", "bun" : "wheat" ...}
「type」キーに「ice_cream」が含まれている場合、キー「bun」ではなく、キー「cone」のみを表示したいと考えています。同様に、「type」に「hot_dog」が含まれている場合、「cone」ではなく「bun」のみが表示されます。タイプ「ice_cream」またはタイプ「hot_dog」のみが表示されるようにパターン一致できることはわかっていますが、そのキーがその値に設定されている場合、特定の他のフィールドの要件を強制する方法がわかりません。「依存関係」と呼ばれるjsonスキーマフィールドがあることがわかりましたが、それを使用する方法の良い例は見つかりませんでした.
ところで、この入力 JSON が適切な形式であるかどうかはわかりませんが (JSON 構造のタイプを効果的にオーバーロードしています)、API を変更するオプションはありません。