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.

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.
Ö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.
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.
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.
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.
Tor zum Gebäude
Führen Sie mit Pro, in der Version aus dem Microsoft Store unter Windows oder über das kostenlose Befehlszeilenhilfsprogramm auf dem Mac, --mode api --fail-on breaking aus, oder legen Sie failOn: breaking für das Paar in einem Batch-Manifest fest, das JUnit oder SARIF schreibt. Identische Schemata bestehen die Prüfung, und der Job schlägt nur bei inkompatiblen 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 LeitfadenDirekte 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, unter Windows oder, über das kostenlose Befehlszeilenhilfsprogramm, auf dem Mac. --mode api --fail-on breaking oder failOn: breaking in einem Batch-Manifest lässt identische Schemata und kompatible Änderungen passieren und schlägt bei inkompatiblen oder nicht klassifizierten Änderungen fehl. Da die Regeln heuristisch sind, sollten Sie die Prüfung als erstes Tor behandeln und Vertragsänderungen dennoch prüfen.
Kann ich API-Vergleiche auf einem Mac ausführen?
Ja, in der App unter macOS und Windows. Auf dem Mac laufen Befehlszeilenaufrufe, die Einrichtung von Git difftool und die Nutzung in CI über das kostenlose Befehlszeilenhilfsprogramm, das der Version aus dem Mac App Store den Befehl diff-anything hinzufügt; die Version aus dem Microsoft Store unter Windows enthält die Befehlszeile.
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 3 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, und das Befehlszeilenhilfsprogramm, das die CLI zur Version aus dem Mac App Store bringt, ist ein kostenloser Download, der den in der App getätigten Pro-Kauf nutzt. 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, alle CLI-Modi und unter Windows vertrauenswürdige Präprozessoren freigeschaltet.