JSON-Schema

Ein JSON-Schema ist selbst ein JSON-Dokument, das die Regeln festlegt, die ein anderes Dokument befolgen muss: seinen Typ, seine Eigenschaften, welche davon erforderlich sind, die Typen und Formate ihrer Werte sowie die maximale Länge von Zeichenketten und Arrays. Validatoren in allen gängigen Programmiersprachen prüfen ein Dokument anhand eines Schemas und melden jeden Verstoß.

So funktioniert es

Schlüsselwörter wie Typ, Eigenschaften, erforderlich, Elemente, Aufzählung, Format und Muster beschreiben eine Struktur; `$ref` verwendet Definitionen wieder. OpenAPI 3.1 nutzt JSON Schema (Entwurf 2020-12) für Anfrage- und Antworttexte, daher dient eine API-Beschreibung gleichzeitig als Validator für den eigenen Datenverkehr.

Das Missverständnis

Die Option `additionalProperties` ist standardmäßig auf `false` gesetzt. Standardmäßig erlaubt ein Schema Eigenschaften, die es nicht explizit erwähnt, was bedeutet, dass eine Antwort mit unerwarteten Feldern dennoch gültig ist. Strenge Vertragsprüfungen müssen `additionalProperties: false` festlegen oder akzeptieren, dass zusätzliche Felder nicht erfasst werden.

Probieren Sie es hier aus

Jedes OpenAPI-Dokument der API enthält JSON-Schemas für seine Bodys; fügen Sie eine Antwort von „Try it out“ in den JSON-zu-JSON-Schema-Generator der Schwesterseite ein, um ein Schema zu erhalten, das aus den Daten selbst abgeleitet wird.

Quellen

Weitere Begriffe

Diese Seite auf Englisch lesen

Alle Glossarbegriffe · Testtechniken · Alle 39 Mock-REST-APIs

Zuletzt aktualisiert