Ich muss ein Schema erstellen, das erwartet, dass eine Eigenschaft existiert, wenn eine andere Eigenschaft einen bestimmten Wert hat.JSON Schemaabhängigkeit basierend auf Wert
{"handleFailure":"redirect","redirectUrl":"http://something.com"}
und
{"handleFailure":"reject"}
beide gültig sein sollte, aber
{"handleFailure:"redirect"}
sollte keine Gültigkeit aufgrund der redirectUrl
Eigenschaft nicht vorhanden ist.
Ich habe versucht, einen Fehler
{
"type": "object",
"additionalProperties": false,
"oneOf": [
{
"properties": {
"handleFailure": {
"type": "string",
"enum": [
"redirect"
]
},
"redirectUrl": {
"type": "string",
"format": "uri"
}
}
},
{
"properties": {
"handleFailure": {
"type": "string",
"enum": [
"reject"
]
}
}
}
]
}
aber ich habe wie so über die Eigenschaften eines Top-Level-oneOf
mit den beiden Schemata machen nicht definiert ist. Gibt es eine Möglichkeit, dies zu tun?
Ich bin in der Lage, Ihr Schema zu analysieren und Objekte zu erstellen, die dagegen validieren. Können Sie genauer über die Fehlermeldung sein, die Sie erhalten? – bhspencer
Haben Sie versucht, das Flag additionalProperties in jedes oneOf-Schema einzufügen? – bhspencer
Vielen Dank, die Flagge wurde verschoben. Ich kann nicht glauben, dass ich eine Stunde damit verbracht habe. –