Ich versuche, die Definitionen von einem anderen json Schema mit $ref
aber immer den folgenden Fehler zu importieren:Wie verwendet man Definitionen aus externen Dateien in JSON Schema?
can't resolve reference ../base/definitions.schema.json#/definitions/datetime from id #
{ "$schema": "http://json-schema.org/draft-06/schema#", "definitions": { "datetime": { "type": "string" }, "name": { "type": "string" }, } }
{ "$schema": "http://json-schema.org/draft-06/schema#", "properties": { "active": {"type": "boolean"}, "created_at": { "$ref": "../base/definitions.schema.json#/definitions/datetime" }, "name": { "$ref": "../base/base/definitions.schema.json#/definitions/name" }, "updated_at": { "$ref": "../base/definitions.schema.json#/definitions/datetime" } }, "required": ["name"], "type": "object" }
Verzeichnisstruktur:
api -- base -- definitions.schema.json -- country -- country.schema.json
I habe mehrere Kombinationen mit einem absoluten Pfad ausprobiert , eine file
URL und mehrere andere Kombinationen des Pfades. Nicht sicher, was vor sich geht.
Schema-Validator: [email protected]
Aber nach [this] (https://spacetelescope.github.io/understanding-json-schema/structuring.html#reuse) sollte ich in der Lage sein, einen Pfad zu $ ref hinzuzufügen. Siehe hierzu: '$ ref kann auch ein relativer oder absoluter URI sein, also wenn Sie es vorziehen, Ihre Definitionen in separate Dateien aufzunehmen, können Sie das auch tun. – Sayem
Sie können Pfade verwenden, wie ich geschrieben habe, sie werden mit der Basis aufgelöst URI im ID (oder $ ID) -Attribut. – esp
Ich bin ein bisschen verwirrt. Meinst du, ich muss den Pfad im '$ id' Attribut definieren? Was passiert, wenn die Definitionen in mehreren Dateien enthalten sind? Könnten Sie bitte ein Beispiel geben? – Sayem