Ich habe ein JSON-Schema, das eine ziemlich komplexe API Abfrage Syntax beschreibt. Einige der Eigenschaften sind Mustervergleiche, müssen aber auch andere Werte (d. H. Andere explizite Zeichenfolgen) als nur das Muster akzeptieren. Ich kann nirgendwo in der Vielzahl der json schema sites irgendwelche Beispiele dafür finden.jsonschema mehrere Werte für String-Eigenschaft
Ein Beispiel:
{
"type": "object",
"properties": {
"$gte": {
"type": "string",
"pattern": "<some-pattern>"
}
}
}
Was ich möchte in der Lage sein, im Beispiel oben zu tun ist, angeben, dass $gte
jeder einen bestimmten Satz von eingeschränkten Werte sein kann. Zum Beispiel erfordert diese spezifische Implementierung dass „$ gte“ 's-Wert zu einem der folgenden eingeschränkt werden:
- Ein speziellen Datumsformat
- Ein Token
{token}
, die mit einem besonderen Wert auf der server- ersetzt werden Seite
ich habe das in dieser Situation verwendet oneOf
Eigenschaft gesehen, aber nur mit der format
Eigenschaft, so gehe ich davon aus, dass dies möglich ist, nur nicht sicher, ob der Syntax, wie es zu implementieren, zum Beispiel könnte es sei etwas wie dieses:
{
"type": "object",
"properties": {
"$gte": {
"type": "string",
"oneOf": [
{"pattern": "<some-pattern>"},
"{token}",
"{another_token}"
]
}
}
}
Jede Klarheit darüber, wie dies zu erreichen wäre, würde sehr geschätzt werden, da ich nicht viel Glück mit der Spezifikation Draft 4 für JSON-Schema oder bei der Suche nach Beispielen habe.