मेरे पास एक स्कीमा है जिसमें एक विशेष संपत्ति (child) या तो एक string हो सकती है या यह एक ऐसी वस्तु हो सकती है जिसे मैंने पहले ही परिभाषित कर दिया है (ChildClass)। मुझे स्कीमा में इसे परिभाषित करने में कठिनाई हो रही है, हालांकि:

{
  definitions": {
    "ChildClass": { ... },
    "ParentClass": {
      "description": "The parent object",
      "type": [ "object" ],
      "properties": {
        "child": {
          "anyOf": [
            { "$ref": "#/definitions/ChildClass" },
            "string"
          ]
        }
      }
    }
  }
}

मैं या तो "string" परिभाषा या मेरी संदर्भित परिभाषा का उपयोग कर सकता हूं, लेकिन दोनों एक साथ नहीं (anyOf के साथ)। स्कीमा को यह समझने की अनुमति देने के लिए उपयुक्त सिंटैक्स क्या है कि इनमें से कोई एक मान्य है?

2
user655321 14 मई 2019, 23:50

1 उत्तर

सबसे बढ़िया उत्तर

anyOf कीवर्ड को अपने आइटम के रूप में स्कीमा की आवश्यकता होती है। "string" अपने आप में एक स्कीमा नहीं है। प्रयोग करने का प्रयास करें

{"type": "string"}

आपके ChildClass संदर्भ के साथ anyOf के अंदर।

2
gregsdennis 15 मई 2019, 00:22