Kann mir jemand sagen, wie man den JustinRainbow Json Schema Validator in der Lage, Referenzen zu finden.Wie verwendet man Referenzen in JustinRainbow JsonValidator
Dies ist das Schema von foobar Ich versuche zu überprüfen:
Schema{
"title": "foobar schema",
"type": "object",
"properties": {
"pagination": {
"$ref": "#/definitions/pagination"
}
},
"required": ["pagination"]
}
Und die Definition der Paginierung in einer separaten Datei auf meinem Computer enthalten ist.
Der Versuch, das zu überprüfen, ohne die JSON-Validator zu sagen, wie Referenzen wie diese zu beheben:
$uriRetriever = new JsonSchema\Uri\UriRetriever();
$refResolver = new JsonSchema\RefResolver($uriRetriever, $uriResolver);
$schema = $refResolver->resolve("file://".realpath(__DIR__."/foobar.json"));
gibt eine Fehlermeldung aus:
File: file://features/foobar.json is found, but could not resolve fragment: #/definitions/pagination (JsonSchema\Exception\UnresolvableJsonPointerException)
Welche fair genug ist, da es keine Möglichkeit für den ist Validierer, um zu wissen, wie man die Datei findet, die die Definition des Paginierungsschemas enthält .... Wie kann ich dem RefResolver mitteilen, wie die Definition des Paginierungsschemas zu finden ist?
Ich würde lieber in der Lage sein, die Datei über das lokale Dateisystem aufzulösen, anstatt URLs auf einem Webserver zu verwenden.
kann diese Hilfe Sie http: // json-schema.org/example2.html – Linus
Nicht wirklich - Ich brauche ein Codebeispiel, das zeigt, wie man der Bibliothek sagt, dass etwas wie "#/definitions/diskDevice" in einer bestimmten Datei gefunden werden kann. – Danack