Zurück zur Übersicht

Begriff

API Versioning

API Software Engineering S2
3 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Wenn du eine Webseite änderst, sehen alle Nutzer sofort die neue Version. Bei einer API ist das gefährlich. Tausende Apps verlassen sich darauf, dass die Antwort genau so aussieht wie gestern. Wenn du das Feld address in address_lines umbenennst, stürzen all diese Apps ab. Das nennt man einen Breaking Change. API Versioning ist die Strategie, Änderungen einzuführen, ohne alte Apps zu zerstören. Du bietest einfach zwei Versionen an:

  • v1: Die alte (läuft weiter für alte Apps).
  • v2: Die neue (für neue Features). So haben Entwickler Zeit, umzusteigen.

Merksatz: Management verschiedener Zustände einer Schnittstelle, um Weiterentwicklung zu ermöglichen, während die Abwärtskompatibilität für bestehende Konsumenten gewahrt bleibt.


Quick-Check

  1. Was ist ein "Breaking Change"?
    Alles, was bestehenden Code kaputt macht: Löschen eines Feldes, Umbenennen, Ändern eines Datentyps (String -> Int), Hinzufügen eines Pflicht-Parameters. Hinzufügen eines optionalen Feldes/Parameters ist meist "Non-Breaking".
  2. Warum nutzen Banken oft noch v1 nach 10 Jahren?
    Weil Legacy-Code in Cobol-Systemen oder alten Terminals schwer zu ändern ist. "Never touch a running system". Versioning ist oft eine vertragliche Garantie.
  3. Semantic Versioning (SemVer) bei APIs?
    Bei HTTP APIs meist nur Major Version (v1, v2). Minor/Patch (v1.2.3) sind für den Client oft irrelevant, solange sie kompatibel sind.