OpenAPI YAML Validator

Fügen Sie Ihre openapi.yaml ein, und der Validator prüft die Teile, die jede Spezifikation braucht: ein Versionsfeld, ein info-Objekt mit Titel und Version und ein paths-Objekt. Außerdem warnt er vor Pfadschlüsseln ohne führenden Schrägstrich und vor Operationsschlüsseln, die er nicht kennt.

So validieren Sie eine OpenAPI-YAML-Datei

  1. 1

    YAML kopieren

    Kopieren Sie den gesamten Inhalt Ihrer `openapi.yaml` oder `swagger.yaml` und behalten Sie die Einrückung genau bei.

  2. 2

    In das Feld einfügen

    Fügen Sie es in das Feld für das OpenAPI- / Swagger-Dokument ein. In YAML ist die Einrückung die Struktur, also tippen oder formatieren Sie sie nicht neu.

  3. 3

    Validierung starten

    Wechseln Sie zum Schritt Ergebnisse und lesen Sie Fehler und Warnungen.

  4. 4

    Korrigieren und erneut prüfen

    Beheben Sie jeden gemeldeten Punkt in Ihrer Datei, fügen Sie die neue Version ein und führen Sie die Prüfung erneut aus.

Warum die Einrückung das Ergebnis bestimmt

In YAML legt die Verschachtelung der Schlüssel fest, zu welchem Objekt ein Feld gehört. Steht version auf derselben Ebene wie info statt eine Ebene darunter, bleibt das Dokument gültiges YAML, aber info.version fehlt und die Prüfung meldet das. Dasselbe gilt für paths: Ein Pfadschlüssel, der versehentlich unter info eingerückt ist, lässt das oberste paths-Objekt verschwinden.

Verwenden Sie Leerzeichen statt Tabulatoren und halten Sie eine gleichmäßige Schrittweite ein, etwa zwei Leerzeichen pro Ebene.

Ein Beispiel

openapi: 3.0.3
info:
  title: Pets API
paths:
  /pets:
    get:
      summary: List pets

Das Versionsfeld, info.title und paths sind vorhanden, und /pets beginnt mit einem Schrägstrich, wobei get eine bekannte Methode ist. Eines fehlt: info.version. Der Bericht listet:

Befund Typ
info.version ist erforderlich. Fehler

Ergänzen Sie version: 1.0.0 unter info, zwei Leerzeichen eingerückt, dann gilt das Dokument als strukturell gültig.

Dokumente einfach halten, damit das Lesen zuverlässig klappt

Die Prüfung liest gewöhnliche YAML-Zuordnungen am besten: einfache Zeilen schlüssel: wert, verschachtelt mit gleichmäßiger Einrückung. Wenn ein Dokument mit erweiterten YAML-Funktionen wie Ankern oder mehrzeiligen Blöcken als unlesbar gemeldet wird oder Felder fehlend anzeigt, testen Sie eine JSON-Kopie derselben Spezifikation, um herauszufinden, ob der Inhalt oder die YAML-Syntax das Problem ist.

Ein sauberes Ergebnis bestätigt nur das Grundgerüst. Es löst keine $ref-Verweise auf und prüft keine Schemas.

Ein praktischer Ablauf für YAML-Spezifikationen

Bearbeiten Sie in kleinen Schritten und prüfen Sie häufig erneut. Fügen Sie nach einem neuen Pfad oder dem Verschieben eines Blocks die Datei erneut ein, damit eine falsche Einrückung noch bemerkt wird, solange die Änderung frisch ist. Wenn Sie eine große Spezifikation auf mehrere Dateien verteilen, fügen Sie die zusammengeführte Version ein, denn diese Prüfung liest nur den Text, den Sie ihr geben, und lädt keine anderen Dateien. Kopieren Sie aus Ihrem Editor und nicht aus einer gerenderten Webseite, da Webseiten Leerzeichen und Anführungszeichen durch ähnlich aussehende Zeichen ersetzen können, die das Lesen des YAML verändern.

Denken Sie schließlich daran, dass der Bericht nur das auflistet, was die Prüfung sehen kann. Ein sauberes Ergebnis bei einer YAML-Datei heißt, dass das Grundgerüst auf oberster Ebene stimmt, nicht dass jede Operation, jedes Schema oder jeder Verweis darin stimmt.

Häufig gestellte Fragen

Leerzeichen. YAML akzeptiert für die Einrückung keine Tabulatoren, und ein Tabulator kann das Dokument unlesbar machen oder Felder auf die falsche Ebene verschieben.

Meist ist das Feld falsch eingerückt und gehört damit zu einem anderen Objekt als beabsichtigt. Vergleichen Sie seine Einrückung mit der des übergeordneten Schlüssels.

Diese Prüfung sucht nur nach dem Vorhandensein des Felds openapi oder swagger, nicht nach dessen Wert. Mit und ohne Anführungszeichen bestehen beide Varianten. Für Swagger ist "2.0" in Anführungszeichen trotzdem eine gute Gewohnheit.

Ja. Das Dokument wird zuerst als JSON gelesen und, falls das fehlschlägt, als YAML. Beide Formate funktionieren also im selben Feld.

Verwandte Tools

Tool in anderen Sprachen verfügbar

Anleitungen und Anwendungsfälle