Zum Inhalt springen
AchaduDevelopers
Achadu/Developers/Versionierung

Kompatible Evolution, explizite Migrationen.

Die Hauptversion befindet sich in der URL. Additive Änderungen werden in Version 1 übernommen, ohne dass Clients beschädigt werden. Inkompatible Änderungen erfordern eine neue Version und ein neues Migrationsfenster.

Was könnte sich in v1 ändern?

Neue Endpunkte

Zusätzliche Vorgänge und Funktionen können veröffentlicht werden.

Neue optionale Felder

Clients sollten unbekannte Eigenschaften in Antworten ignorieren.

Neue Veranstaltungen

Bei Abonnements mit * können Typen zum Katalog hinzugefügt werden.

Neue Werte

Offene Aufzählungen können dokumentierte Zustände oder Anbieter erhalten.

Was erfordert eine neue Version?

Entfernen oder umbenennen

Vorhandene Endpunkte, Felder oder Werte verschwinden nicht automatisch.

Bedeutung ändern

Inkompatible Semantik, Einheit oder Format erfordern einen neuen Vertrag.

Machen Sie es zur Pflicht

Ein optionales Feld wird innerhalb derselben Version nicht zu einem Pflichtfeld.

Authentifizierung ändern

Inkompatible Berechtigungsänderungen erhalten eine eigene Migration.

Abschreibungszyklus

1
Ankündigung

Mit Ersatz und Wirkung geht der Wandel in die Geschichte ein.

2
Migration

Die beiden Formen existieren während des Informationsfensters nebeneinander.

3
Hinweis in der Produktion

Dokumentation und Antworten identifizieren den gekündigten Vertrag.

4
Schließung

Der Abtransport erfolgt nur zum angekündigten Termin.

So schreiben Sie einen ausfallsicheren Client

Unbekannte Antwortfelder ignorieren.
Behandeln Sie unbekannte Enumerationen als nicht unterstützten gültigen Status.
Verlassen Sie sich nicht auf die Reihenfolge der JSON-Eigenschaften.
Verwenden Sie die Version von der URL, nicht eine vom SDK abgeleitete Version.
Verfolgen Sie den Verlauf, bevor Sie einen generierten Kunden aktualisieren.