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.