OpenAPI JSON Validator

Fügen Sie den Inhalt Ihrer openapi.json oder swagger.json ein und erhalten Sie in Sekunden eine Strukturprüfung. Der Validator bestätigt, dass das JSON lesbar ist, das Feld für die Version vorhanden ist, info einen Titel und eine Version hat und paths existiert. Anschließend warnt er vor auffälligen Pfadnamen und unbekannten Operationsschlüsseln.

So validieren Sie eine OpenAPI-JSON-Datei

  1. 1

    Datei kopieren

    Öffnen Sie Ihre `openapi.json` und kopieren Sie das gesamte Dokument, von der öffnenden bis zur schließenden geschweiften Klammer.

  2. 2

    In das Feld einfügen

    Fügen Sie es in das Feld für das OpenAPI- / Swagger-Dokument ein. Leerzeichen müssen Sie nicht entfernen und nichts neu formatieren.

  3. 3

    Prüfung starten

    Wechseln Sie zum Schritt Ergebnisse, um die Validierung auszuführen.

  4. 4

    Korrigieren und wiederholen

    Bearbeiten Sie die Datei für jeden Fehler, fügen Sie sie erneut ein und wiederholen Sie die Prüfung, bis der Bericht keine Fehler mehr zeigt.

Häufige JSON-Fehler, die eine Prüfung scheitern lassen

JSON ist strenger als YAML. Deshalb liegen die meisten Fehler in einer von Hand bearbeiteten Datei an der Syntax und nicht am API-Design. Typische Ursachen sind ein Komma nach der letzten Eigenschaft, einfache statt doppelter Anführungszeichen, ein Kommentar (JSON erlaubt keine) oder eine fehlende schließende geschweifte Klammer nach einem langen paths-Objekt. Eine kaputte Datei endet meist mit der Meldung „Konnte nicht als JSON oder YAML gelesen werden“ oder mit Fehlern zu fehlenden Feldern, weil nichts Verwertbares gelesen wurde.

Wenn Sie nur einen Parserfehler sehen, suchen Sie zuerst den Syntaxfehler. Die Strukturprüfungen laufen erst, wenn das Dokument als Objekt gelesen wird.

Ein Beispiel

Nehmen Sie dieses kleine Dokument:

{
  "openapi": "3.0.3",
  "info": { "title": "Orders API" },
  "paths": {
    "orders": { "get": { "summary": "List orders" } }
  }
}

Es lässt sich lesen, das Feld openapi und das Objekt paths sind vorhanden. Der Bericht würde dennoch zeigen:

Befund Typ Grund
info.version ist erforderlich. Fehler info hat einen Titel, aber keine version
Der Pfad ‘orders’ sollte mit ‘/’ beginnen. Warnung Der Pfadschlüssel hat keinen führenden Schrägstrich

Da ein Fehler vorliegt, wird das Dokument nicht als gültig gemeldet. Ergänzen Sie "version": "1.0.0" in info und benennen Sie den Schlüssel in /orders um. Ein zweiter Durchlauf entfernt beide Befunde.

Was ein Bestehen bedeutet und was nicht

Ein sauberer Bericht bedeutet, dass das Grundgerüst stimmt. Er folgt keinen $ref-Verweisen, prüft keine Schemas und bestätigt nicht, dass jede Operation Antworten hat. Betrachten Sie das Ergebnis als schnelles Tor vor dem Commit der Datei und führen Sie für tiefergehende Regeln einen vollständigen Linter aus.

Ein praktischer Ablauf für JSON-Spezifikationen

Halten Sie die Spezifikation unter Versionskontrolle und fügen Sie sie hier vor jedem Commit ein, der paths ändert. Da die Prüfung schnell ist, eignet sie sich als Plausibilitätsschritt nach dem Zusammenführen von Änderungen mehrerer Personen, wenn doppelte Schlüssel oder eine verrutschte Klammer am wahrscheinlichsten sind. Wenn Ihr JSON von einem Build-Skript erzeugt wird, fügen Sie die erzeugte Ausgabe statt der Vorlage ein, damit Sie testen, was Leser tatsächlich erhalten. Ist der Bericht sauber, können Sie die Datei teilen oder an einen Dokumentationsgenerator übergeben und darauf vertrauen, dass die oberste Struktur stimmt.

Häufig gestellte Fragen

Nein. Leerzeichen und Einrückungen spielen keine Rolle. Fügen Sie die Datei so ein, wie sie ist.

Standard-JSON erlaubt kein Komma nach dem letzten Element eines Objekts oder Arrays, daher kann das Dokument nicht als JSON gelesen werden. Entfernen Sie das Komma und führen Sie die Prüfung erneut aus.

Ja. Die Versionsprüfung akzeptiert ein Feld openapi oder ein Feld swagger, daher durchlaufen sowohl JSON-Dateien für Swagger 2.0 als auch für OpenAPI 3.x dieselbe Strukturprüfung.

Nein. Befunde werden als Meldungen aufgelistet, etwa ein fehlendes Feld oder ein Pfadname, ohne Zeilennummern. Suchen Sie in Ihrer Datei nach dem Schlüssel aus der Meldung.

Verwandte Tools

Tool in anderen Sprachen verfügbar

Anleitungen und Anwendungsfälle