OpenAPI-Validator

Fügen Sie ein OpenAPI- oder Swagger-Dokument als JSON oder YAML ein, und dieser Validator prüft seine Kernstruktur. Er bestätigt, dass das Dokument geparst wird, dass es ein Versionsfeld openapi oder swagger, ein info-Objekt mit Titel und Version sowie ein paths-Objekt enthält, und markiert dann Pfade, die nicht mit einem Schrägstrich beginnen, und unbekannte HTTP-Methoden. Es ist eine schnelle Strukturprüfung, kein vollständiger JSON-Schema-Validator.

Wie die Validierung abläuft

  1. 1

    Dokument einfügen

    JSON oder YAML, für OpenAPI 2 (Swagger) oder OpenAPI 3.

  2. 2

    Parsen

    Der Validator parst das Dokument als JSON und weicht bei Misserfolg auf YAML-Parsing aus.

  3. 3

    Pflichtfelder prüfen

    Er bestätigt ein Versionsfeld `openapi` oder `swagger`, ein `info`-Objekt mit `title` und `version` sowie ein `paths`-Objekt.

  4. 4

    Pfade scannen

    Jeder Pfad wird auf einen führenden Schrägstrich geprüft, und jeder Operationsschlüssel wird mit den bekannten HTTP-Methoden abgeglichen.

  5. 5

    Bericht lesen

    Fehler blockieren die Gültigkeit; Warnungen weisen auf Pfade ohne führenden Schrägstrich und unbekannte Methoden hin.

Was dieser Validator prüft

Prüfung Ergebnis bei Fehlschlag
Dokument parst als JSON oder YAML Fehler
Feld openapi oder swagger vorhanden Fehler
info-Objekt vorhanden Fehler
info.title vorhanden Fehler
info.version vorhanden Fehler
paths-Objekt vorhanden Fehler
Jeder Pfad beginnt mit / Warnung
Operationsschlüssel sind bekannte HTTP-Methoden Warnung

Ein Dokument, das jeden Fehler besteht, wird als strukturell gültig gemeldet. Warnungen blockieren die Gültigkeit nicht; sie heben hervor, was sich zu beheben lohnt.

Was er nicht prüft

Dies ist eine Strukturprüfung, kein vollständiger Spezifikationsvalidator. Er tut Folgendes nicht:

  • jeden Knoten gegen das offizielle JSON Schema Ihrer Version validieren;
  • $ref-Verweise auflösen oder bestätigen, dass die Komponenten, auf die sie zeigen, existieren;
  • prüfen, ob Pfadparameter konsistent deklariert und verwendet werden;
  • prüfen, ob operationId-Werte vorhanden oder eindeutig sind;
  • Zeilennummern für Fehler melden.

Für diese Tiefe führen Sie einen dedizierten CLI-Validator wie redocly lint, swagger-cli validate oder spectral lint aus. Nutzen Sie dieses Werkzeug für eine schnelle Plausibilitätsprüfung, bevor Sie eine Spezifikation committen oder teilen.

OpenAPI-Versionen in der Praxis

Version Hinweise
Swagger 2.0 Noch weit verbreitet; verwendet swagger: "2.0"
OpenAPI 3.0.x Die häufigste 3.x-Linie
OpenAPI 3.1.0 An JSON Schema 2020-12 ausgerichtet

Dieser Validator akzeptiert entweder das Feld openapi (3.x) oder das Feld swagger (2.0), sodass alle die Versionsprüfung bestehen.

Ein minimales Dokument, das besteht

openapi: 3.0.3
info:
  title: Example API
  version: 1.0.0
paths:
  /users:
    get:
      summary: List users

Jedes Pflichtfeld ist vorhanden, der einzige Pfad beginnt mit einem Schrägstrich, und get ist eine bekannte Methode, daher wird es als strukturell gültig gemeldet.

Häufig gestellte Fragen

Swagger war der ursprüngliche Name der Spezifikation, die 2015 an die Linux Foundation gespendet und ab Version 3.0 in „OpenAPI“ umbenannt wurde. „Swagger“ bezeichnet heute die Werkzeuge (Swagger UI, Swagger Editor). Die Spezifikation selbst ist OpenAPI. Dieser Validator akzeptiert sowohl das Versionsfeld swagger (2.0) als auch openapi (3.x).

Nein. Er prüft die Kernstruktur: dass das Dokument geparst wird, ein Versionsfeld, ein info-Objekt mit Titel und Version sowie ein paths-Objekt enthält, und warnt vor Pfaden ohne führenden Schrägstrich und unbekannten Methoden. Er validiert nicht jeden Knoten gegen das offizielle JSON Schema. Verwenden Sie dafür redocly lint oder spectral lint.

Nein. Er folgt keinen $ref-Verweisen und prüft nicht, ob die Komponenten, auf die sie zeigen, existieren. Bündeln Sie für dateiübergreifende Verweise das Dokument zuerst mit einem Werkzeug wie redocly bundle oder swagger-cli bundle und führen Sie dann einen vollständigen Validator aus.

Nein. Er prüft nur das eingefügte Dokument, nicht Ihren laufenden Code. Er kann nicht feststellen, ob Ihre API tatsächlich das zurückgibt, was die Spezifikation beschreibt. Das leisten Contract-Testing-Werkzeuge wie Dredd oder Schemathesis.

Verwandte Tools

Tool in anderen Sprachen verfügbar