API-Versionierung

Eine grundlegende Änderung – beispielsweise ein umbenanntes Feld, ein entfernter Endpunkt oder eine andere Fehlerform – würde alle Clients, die auf dem alten Verhalten basieren, zum Absturz bringen. Die Versionierung ermöglicht es dem Anbieter, das neue Verhalten als neue Version bereitzustellen, während die alte Version weiterhin funktioniert, und gibt den Clients Zeit für die Migration.

So funktioniert es

Die Versionsangabe wird üblicherweise im URL-Pfad ( /v1 /, /v2 /) übermittelt, manchmal in einem Header oder im Accept-Medientyp, gelegentlich auch als Datum. Änderungen, die keine Kompatibilitätsprobleme verursachen – neue optionale Felder, neue Endpunkte – werden innerhalb einer Version bereitgestellt. Wenn eine ältere Version eingestellt wird, kündigt der Anbieter dies im Voraus an, häufig mit Deprecation- und Sunset-Headern in seinen Antworten.

Das Missverständnis

Das Hinzufügen eines Feldes ist grundsätzlich unbedenklich. Dies gilt für Clients, die unbekannte Felder ignorieren, und führt zu Problemen bei Clients mit strikten Deserialisierern oder Snapshot-Tests. Was als "breaking" gilt, hängt vom tatsächlichen Verhalten der Clients ab. Aus diesem Grund veröffentlichen Anbieter ihre Kompatibilitätsregeln.

Probieren Sie es hier aus

Die Friends API unterstützt beide Versionen: GET /friends/v1/characters ist als veraltet gekennzeichnet, und GET /friends/v2/characters benennt job in occupation um und verpackt die Liste neu; GET /friends/version listet auf, was unterstützt wird.

Quellen

Weitere Begriffe

Diese Seite auf Englisch lesen

Alle Glossarbegriffe · Testtechniken · Alle 39 Mock-REST-APIs

Zuletzt aktualisiert