Online Tool Store Online Tool Store

API Contract Checker

Vergleicht OpenAPI-3.x-Specs auf breaking, safe und security-Änderungen, mit Datei-Upload und 3.1-Support - komplett im Browser, nichts wird hochgeladen

🔒 Dieses Tool läuft vollständig in Ihrem Browser. Ihre Dateien werden niemals an einen Server hochgeladen.

Browser-Tool

API Contract Checker

Jedes Feld akzeptiert OpenAPI 3.x als JSON oder YAML — einfügen, eine Datei auf das Feld ziehen, oder Datei hochladen verwenden. Es wird nichts auf einen Server hochgeladen — der Vergleich läuft vollständig in Ihrem Browser. Drücken Sie Ctrl+Enter für einen sofortigen Vergleich.

So funktioniert es

  1. Fügen Sie Ihre base (alte) und revision (neue) OpenAPI-3.x-Spec in die beiden Felder ein - oder ziehen Sie eine .json/.yaml/.yml-Datei auf eines der Felder, oder nutzen Sie den Upload file-Button. JSON oder YAML funktionieren beide, und die Formate müssen nicht übereinstimmen.
  2. Klicken Sie auf Compare, tippen Sie einfach weiter (nach einer kurzen Pause wird automatisch neu verglichen), oder drücken Sie Ctrl+Enter für einen sofortigen Vergleich.
  3. Die Ergebnisse werden in breaking changes, safe/additive changes und andere Änderungen gruppiert - einschließlich security-, deprecation-, server- und allOf/oneOf/anyOf-Änderungen - mit einer Anzahl für jede Gruppe oben. Klicken Sie auf ein Anzahl-Badge, um diese Gruppe ein- oder auszublenden.
  4. Wählen Sie ein Berichtsformat (Text, Markdown oder JSON) und klicken Sie auf Download report, um den vollständigen Diff zu speichern.

FAQ

Was prüft dieses Tool eigentlich?

Sie fügen eine base (alte) und eine revision (neue) OpenAPI-3.x-Spezifikation ein (oder laden sie hoch), und das Tool durchläuft jeden path, parameter, request body, response, security requirement und schema in beiden, und meldet dann, was sich geändert hat: hinzugefügte oder entfernte Endpunkte, Änderungen bei parameter- und request-field-Pflichtangaben, eingeengte Typen oder Enums, verschwundene response-Felder oder Statuscodes, Änderungen bei security requirements und allOf/oneOf/anyOf-Kompositionsänderungen.

Was gilt als "breaking" Änderung?

Alles, was einen bestehenden Client zum Ausfall bringen könnte: ein entfernter Endpunkt, ein parameter oder request field, das required wurde, ein entferntes response-Feld oder ein entfernter Statuscode, ein Feld, das in einer Response nicht mehr garantiert ist, oder ein Typ/Enum, das enger wurde (einschließlich OpenAPI-3.1-nullable-type-Arrays, z. B. das Entfernen von "null" aus `["string", "null"]`). Neue Endpunkte, neue optionale Felder und neue response-Felder sind additiv und werden separat als safe angezeigt.

Prüft es auch Änderungen an security scheme und deprecation?

Ja. Hinzugefügte/entfernte security requirements (global und pro Operation), Änderungen an security-scheme-Definitionen (z. B. ein API-Key, der von einem Header zu einem Query-Parameter wechselt), neu als deprecated markierte Operationen und Server-URL-Änderungen werden alle gemeldet - als informational findings statt breaking oder safe, denn (passend zur Standard-Severity, die oasdiff selbst diesen Prüfungen zuweist) ist keine Richtung universell richtig oder falsch; Sie entscheiden, ob es für Ihre API relevant ist.

Verarbeitet es allOf-, oneOf- und anyOf-Schema-Kompositionen?

Ja. `allOf`-Mitglieder werden vor dem Diffing aufgelöst und zusammengeführt, sodass ein tief in einem zusammengesetzten Schema hinzugefügtes required Feld trotzdem erkannt wird. `oneOf`/`anyOf`-Variantensets werden verglichen und als informational markiert, wenn eine Variante hinzugefügt oder entfernt wird, da es von der Art abhängt, wie Ihre Clients zwischen Varianten unterscheiden, ob diese konkrete Änderung breaking ist.

Unterstützt es Swagger 2.0?

Nein - es vergleicht nur OpenAPI-3.x-Specs. Swagger 2.0 (das ältere Format) strukturiert parameter und bodies anders, sodass dieselben Regeln falsche Ergebnisse liefern würden. Das Einfügen eines Swagger-2.0-Dokuments erzeugt stattdessen eine klare Fehlermeldung statt eines stillschweigend falschen Diffs.

Wird meine Spec irgendwohin gesendet?

Nein. Parsing und Vergleich laufen beide in Ihrem Browser - Ihre Spec verlässt nie Ihr Gerät, anders als bei den meisten anderen OpenAPI-Diff-Tools, die den Upload auf ihrem eigenen Server verarbeiten, selbst wenn sie behaupten, ihn nicht zu speichern. Das gilt auch bei Nutzung der Datei-Upload/Drag-and-Drop-Option: Die Datei wird lokal gelesen, nie übertragen.

Was prüft es nicht?

Es vergleicht `application/json`-Request- und Response-Bodies, was den Großteil der REST-APIs abdeckt, bewertet aber keine anderen Content-Types, Response-Header, Beschreibungen oder Beispiele. Ein `$ref`, der außerhalb des Dokuments verweist (eine separate Datei oder URL), wird als unresolvable gemeldet statt stillschweigend übersprungen.

Kann ich YAML statt JSON einfügen oder eine Datei hochladen?

Beides ist möglich. Jedes Feld akzeptiert JSON oder YAML unabhängig voneinander und erkennt, welches Format verwendet wurde, sodass Sie eine JSON-base-Spec mit einer YAML-revision vergleichen können oder umgekehrt. Sie können auch eine .json/.yaml/.yml-Datei auf eines der Felder ziehen oder den Upload file-Button nutzen - die Datei wird in Ihrem Browser gelesen und nie irgendwohin hochgeladen.

Unterstützt es OpenAPI 3.1, nicht nur 3.0?

Es funktioniert mit jedem Dokument, das ein "openapi": "3.x"-Feld und ein "paths"-Objekt hat, was sowohl 3.0 als auch 3.1 abdeckt - einschließlich des array-form `type` von 3.1 (z. B. `["string", "null"]`) - und lehnt nur Dokumente ab, die wie Swagger 2.0 aussehen.

Kann ich den Diff als JSON, Markdown oder HTML exportieren?

Text (.txt), Markdown (.md) und JSON (.json) werden alle unterstützt - wählen Sie vor dem Download eines aus dem Format-Dropdown neben Download report. Der JSON-Export enthält die vollständige Liste der findings sowie Zählungen pro Severity, sodass er bei Bedarf in ein anderes Skript (z. B. eine CI-Prüfung) eingespeist werden kann.

Aktualisiert es sich beim Tippen, oder muss ich auf Compare klicken?

Beides funktioniert: Drücken Sie Compare für einen sofortigen Neuvergleich, oder tippen Sie einfach weiter - nach einer kurzen Pause wird automatisch neu verglichen. Sie können auch von jedem Feld aus Ctrl+Enter (Cmd+Enter auf dem Mac) drücken, um sofort ohne Wartezeit zu vergleichen.

So vergleichen wir

FunktionOnline Tool StoreoasdiffSpecShield
Vergleicht Ihre Spec vollständig in Ihrem Browser Ja - nichts verlässt Ihr Gerät, auch hochgeladene Dateien nichtNein - wird auf deren Server verarbeitetNein - wird auf deren Server verarbeitet, dann verworfen
Akzeptiert OpenAPI 3.x als JSON oder YAML, eingefügt oder hochgeladen Ja - Einfügen, Drag-and-Drop oder Upload fileEinfügen oder HochladenEinfügen oder Hochladen
Gruppiert Ergebnisse in breaking, safe und andere Änderungen Ja, mit klickbaren Filter-BadgesJa, über einen eigenen Breaking-Changes-ModusJa, dieselben drei Gruppen
Verarbeitet allOf/oneOf/anyOf-Schema-Kompositionen Ja - allOf wird vor dem Diffing zusammengeführt; oneOf/anyOf-Variantenänderungen werden markiertAuf der öffentlichen Diff-Seite nicht dokumentiertNicht dokumentiert
Markiert security-, deprecation- und Server-URL-Änderungen Ja, alle drei (als informational angezeigt, nicht breaking/safe)Security und deprecation, über die zugrunde liegende Engine von oasdiffNicht dokumentiert
Kostenlos, ohne Account erforderlich JaJa, für den einfachen DiffJa, für den einfachen Diff

Gut für eine schnelle, private Prüfung auf Breaking Changes vor der Veröffentlichung einer neuen API-Version - besonders wenn die Spec selbst sensibel ist und Sie sie, oder eine hochgeladene Datei, lieber nicht an einen Drittanbieter-Server senden möchten.

Verwandte Tools entdecken

Dieses Tool einbetten

Fügen Sie dies auf Ihrer eigenen Website ein — es bleibt kostenlos, und jede Datei bleibt im Browser Ihrer Besucher, nicht bei Ihnen oder bei uns.