Anleitung für Anwendungsfälle macOSWindows

Kennzeichnet, dass die API-Änderungen wahrscheinlich vor der Veröffentlichung beschädigt werden

Kennzeichnen Sie wahrscheinlich fehlerhafte OpenAPI- oder JSON-Schemaänderungen mit Regelcodes und sehen Sie die Anzahl der Fehler im Ergebnis. Führen Sie mit Pro auf Windows den gleichen Vergleich in CI durch: identische Schemata werden bestanden, und --fail-on breaking schlägt den Job nur bei Breaking- oder nicht klassifizierten Änderungen fehl, mit Regelcodes in JUnit und SARIF. Die Regeln sind heuristisch, sodass eine bestandene Prüfung immer noch eine Vertragsprüfung erfordert.

Die zu erledigende Aufgabe

Erkennen Sie die Vertragsänderung, bevor es ein Kunde tut.

Eine OpenAPI-Datei kann sich in einem Pull-Request ändern, ohne dass jemand bemerkt, dass ein Antwortfeld verschwunden ist, ein Abfrageparameter erforderlich wurde oder eine Aufzählung einen Wert verloren hat. In einer langen Spezifikation verbergen sich Bearbeitungen wie diese zwischen Formatierungsänderungen und neuen Endpunkten.

Diff Anything vergleicht die freigegebene Spezifikation und den Kandidaten als geparste Dokumente im API-Schemamodus und kennzeichnet Änderungen, die seinen Breaking-Change-Regeln entsprechen, mit einem Regelcode. Die Etiketten geben Ihnen eine kurze Liste, die Sie zuerst lesen sollten. Die Entscheidung, ob Kunden betroffen sind, liegt bei Ihnen.

Diff Anything vergleicht zwei JSON-Dateien, wobei Benutzerdatensätze anhand der ID übereinstimmen und ein geänderter Rollenwert ausgewählt wurde
Der semantische Modus listet geänderte Pfade und Werte auf. Hier gleicht eine Vergleichsregel nach ID Benutzerdatensätze ab, sodass in einer neu geordneten Liste nur die tatsächlichen Änderungen angezeigt werden. Vollbild anzeigen

Empfohlener Pfad

Von der veröffentlichten Spezifikation zu einer überprüften Liste von Änderungen.

Verwenden Sie die Spezifikation, auf die Kunden heute angewiesen sind, als linke Seite und die vorgeschlagene Version als rechte Seite.

  1. Öffnen Sie beide Spezifikationen

    Wählen Sie OpenAPI-, Swagger- oder JSON-Schemadateien aus, die in JSON oder YAML geschrieben sind. Automatisch erkennt sie anhand ihres Openapi-, Swagger- oder $schema-Schlüssels der obersten Ebene und öffnet den API-Schemamodus.

  2. Lesen Sie das Urteil

    Ein Hinweis über dem Ergebnis gibt die Anzahl potenziell inkompatibler Änderungen an oder besagt, dass die Schemata gleichwertig sind. Wenn keine Regel zutrifft, werden Sie daran erinnert, dass weiterhin eine manuelle Vertragsprüfung erforderlich ist.

  3. Filtern nach „Unterbrechung“.

    Wählen Sie „Unterbrechung“ im Bereichsfilter „Unterschiede“. Jeder Eintrag zeigt seinen Regelcode, z. B. API001 für einen entfernten Vorgang oder API004 für eine neue erforderliche Eingabe, und den Pfad der Änderung.

  4. Lesen Sie, was die Regeln unbeschriftet lassen

    Wechseln Sie zurück zu „Alle“. Ein geändertes Muster oder ein umbenannter Parameter wird ohne Regelcode angezeigt, und durch das Einfügen eines Parameters können sich die Positionen der darauffolgenden Parameter verschieben.

  5. Tor zum Gebäude

    Führen Sie mit Pro in der Microsoft Store-Version auf Windows --mode api --fail-on breaking aus oder legen Sie failOn: break für das Paar in einem Batch-Manifest fest, das JUnit oder SARIF schreibt. Identische Schemata sind erfolgreich und der Job schlägt nur bei fehlerhaften oder nicht klassifizierten Änderungen fehl.

Beteiligte Fähigkeiten

Wie die drei Funktionen zu einer API-Rezension passen.

Grenzen zu kennen

Lesen Sie die Etiketten als Ausgangspunkt.

Die Regeln beurteilen eine Änderung anhand ihrer Position im Dokument. Sie lösen $ref nicht auf und behandeln Anforderungs- und Antwortschemata nicht gleich, sodass einige markierte Elemente harmlos sind und einige kritische Änderungen, wie ein umbenannter Parameter, ein entfernter Komponenteneintrag oder hinzugefügte zusätzliche Eigenschaften: false, keinen Regelcode enthalten.

Ein erfolgreicher Lauf mit --fail-on breaking bedeutet, dass keine Regel angeschlagen hat. Er beweist nicht, dass Clients unbeeinträchtigt bleiben. Lassen Sie Änderungen, die die Regeln nicht beurteilen können, von einer Person prüfen.

Semantische Regeln wie „Pfade ignorieren“ gelten nicht im API-Schemamodus. Kostenlos zeigt vollständige API-Ergebnisse in der App innerhalb der Grenzen von 5 MB und 10 pro Tag; Für den API-Befehlszeilenmodus und Batch-Manifeste ist Pro erforderlich.

Zugehöriges Handbuch

Diff Anything mit Befehlszeile, Git und CI nutzen

Unter Windows Vergleiche wiederholbar ausführen, Exit-Codes verstehen, Git einbinden und maschinenlesbare Ergebnisse für CI erzeugen.

In den Abschnitten geht es darum, die installierte ausführbare Datei zu finden, den expliziten CLI-Modus aufzurufen, Exit-Codes zu interpretieren, die Ausgabe für den Verbraucher auszuwählen, Git Difftool zu konfigurieren, Diff für Git Diff zu verwenden, mit Git zusammenzuführen, Batch-Manifeste auszuführen und Automatisierungsfehler zu debuggen. Verwenden Sie es, wenn Sie bereit sind, diesen Workflow mit Ihren eigenen Projektdaten zu reproduzieren.

Lesen Sie den Leitfaden

Direkte Antworten

Fragen zu diesem Anwendungsfall.

Welche API-Beschreibungsformate kann ich vergleichen?

OpenAPI 3, Swagger 2.0 und JSON Schemadokumente in JSON oder YAML. Der API-Schemamodus akzeptiert auch GraphQL-Typen und SQL CREATE TABLE-Anweisungen mit einem engeren Satz von Prüfungen.

Unterbricht eine markierte Änderung immer Clients?

Nein. Ein Flag bedeutet, dass die Änderung mit einer Regel übereinstimmt, zum Beispiel API008, wenn Sicherheitsanforderungen hinzugefügt oder geändert werden. Lesen Sie den Standort und entscheiden Sie, ob bestehende Anfragen oder Antworten betroffen sind.

Kann ich die Befehlszeile als Release-Gate verwenden?

Ja, mit Pro auf Windows. --mode api --fail-on breaking oder failOn: Beim Breaking in einem Batch-Manifest werden identische Schemata und nicht-breaking-Änderungen übergeben und bei Breaking- oder nicht klassifizierten Änderungen schlägt dies fehl. Da die Regeln heuristisch sind, sollten Sie sie als erstes Tor behandeln und dennoch Vertragsänderungen prüfen.

Kann ich API-Vergleiche auf einem Mac ausführen?

Ja, in der App auf macOS und Windows. Command-Linienläufe, Git-Difftool-Setup und CI-Nutzung sind mit der Microsoft Store-Version auf Windows verfügbar.

Kostenlos & Pro: Was ist enthalten

Verfügbar im Mac App Store und Microsoft Store. Mit der kostenlosen Desktop-Nutzung können Sie jede Vergleichs-Engine für Dateien bis zu 5 MiB pro Seite und 10 neue Vergleichssitzungen pro lokalem Tag ausprobieren; Sammlungsvorschauen zeigen die ersten 100 Elemente, binäre Vergleiche die ersten 100 Byte-Unterschiede und PDF-Vorschauen die ersten drei Seiten. Der Nur-Text-, JSON- und Jupyter-Notebook-Vergleich ist vollständig und das Öffnen von Dateien über den Finder oder den Datei-Explorer, diffanything://-Links und AppleScript ist kostenlos. Die kostenlose CLI unterstützt Text, JSON und Notebooks. Durch einen einmaligen Pro-Kauf werden die Vorschau- und Sitzungsbeschränkungen aufgehoben und größere Quellen innerhalb technischer Grenzen, gespeicherte Profile und Verlauf, Speichern von Ordner-Snapshots, Exportieren und Drucken von Berichten, JSON-Patch-Export, Anwenden von Patches, Drei-Wege-Zusammenführung und Konfliktlösung, der Git-Merge-Treiber und das Merge-Tool, Ordnersynchronisierung, Batch-Manifeste, vertrauenswürdige Präprozessoren und alle CLI-Modi freigeschaltet.

Weiter

Entdecken Sie weitere Diff Anything-Workflows.

Zurück zu Anwendungsfällen