01 / Kompatibilitätsprüfung
Setzen Sie den bestehenden Vertrag auf die Basisseite
Die Baseline beschreibt, worauf aktuelle Verbraucher bereits angewiesen sind. Der Kandidat ist der vorgeschlagene Ersatz. Wenn man sie umkehrt, wird die Bedeutung von Entfernen, Hinzufügen, Einengen und neuen Anforderungen umgekehrt.
Halten Sie beide Quellversionen verfügbar. Eine Regelklassifizierung hilft bei der Priorisierung der Überprüfung. Es entscheidet nicht darüber, ob ein produktspezifisches Verhalten akzeptabel ist.
02 / Kompatibilitätsprüfung
Überprüfen Sie inkompatible und mehrdeutige Änderungen separat
Entfernte Pfade, Vorgänge, Parameter, Eigenschaften oder Aufzählungswerte können einen Verbraucher beschädigen. Neu erforderliche Eingaben und engere akzeptierte Typen verdienen ebenfalls sofortige Aufmerksamkeit. Ergänzungen sind oft kompatibel, während Typ-, Schema-, Sicherheits- und Antwortänderungen eine kontextabhängige Überprüfung erfordern können.
Beginnen Sie mit der gemeldeten Störungsgruppe und überprüfen Sie dann die für die Überprüfung erforderlichen Erkenntnisse anhand tatsächlicher Kunden und des Implementierungsverhaltens. Ein sauberer Bericht kann keine Kompatibilität beweisen, die über die vom Prüfer geprüften Verträge und Regeln hinausgeht.
- Fehlerhaft: Eine Verbraucherfunktion oder ein akzeptierter Wert wird entfernt oder ist neu erforderlich.
- Überprüfung erforderlich: Die Auswirkungen hängen von der Verwendung, der Semantik oder der Implementierung ab.
- Kompatibel: Die analysierte Vertragsänderung erscheint für bestehende Verbraucher additiv.
03 / Kompatibilitätsprüfung
Kennen Sie die Grenzen des Browser-Checkers
Der kostenlose Checker akzeptiert Swagger 2.0 und OpenAPI 3.0/3.1 in JSON oder YAML. Es löst interne Referenzen auf, ruft jedoch keine externen Referenzen ab. es meldet eine Warnung, wenn sie außerhalb des Vergleichs bleiben.
Beim Durchlaufen des Schemas wird eine Tiefenbeschränkung von acht verwendet. Die Ausgabe ist ein heuristischer Kompatibilitätsbericht, daher sind bei wichtigen Releases noch Clienttests und eine menschliche Überprüfung des Laufzeitverhaltens, undokumentierter Erwartungen und der semantischen Bedeutung erforderlich.