Loslegen
Javaneer
Zurück zum Fahrplan
🔌
Stufe 5

API- & Vertragsdesign

Eine API ist ein Versprechen, das du halten musst.

Eine API ist ein Vertrag mit Konsumenten, die du nicht siehst und nicht zum Upgrade zwingen kannst - sie gut zu entwerfen und ohne Brüche weiterzuentwickeln ist eine Senior-Fähigkeit. REST-Reife und Ressourcenmodellierung, Versionierung und Abwärtskompatibilität, konsistente Fehler- und Idempotenz-Verträge, OpenAPI und Consumer-Driven Contract Testing - und Events als Verträge mit eigener Schema-Evolution.

6 Lektionen in dieser Stufe1 h 29 min
Erste Lektion starten

Lektionen in dieser Stufe

  1. 01

    REST, richtig gemacht

    Fortgeschritten

    Das Richardson-Reifegradmodell: Ressourcen, HTTP-Verben und Statuscodes korrekt genutzt - und wo HATEOAS/Hypermedia wirklich hilft gegenüber wo es übertrieben ist.

    15 Min.
  2. 02

    Ressourcen entwerfen

    Fortgeschritten

    Ressourcen und URIs modellieren (Substantive, keine Verben), die Konventionen für Pagination, Filterung und Sortierung - und Repräsentationen, die deine Datenbank nicht durchsickern lassen.

    14 Min.
  3. 03

    Versionierung & Evolution

    Experte

    Wie man versioniert (URI vs. Header vs. Media-Type), der Unterschied zwischen brechenden und nicht-brechenden Änderungen und die Tolerant-Reader-Gewohnheit, die APIs ohne Client-Brüche weiterentwickeln lässt.

    16 Min.
  4. 04

    Fehler & Idempotenz

    Experte

    Ein konsistenter, maschinenlesbarer Fehlervertrag (RFC 9457 Problem Details) und Idempotenzschlüssel, damit eine wiederholte Anfrage nicht doppelt belastet - die Verträge, die eine API sicher konsumierbar machen.

    15 Min.
  5. 05

    Verträge & Consumer-Driven Testing

    Experte

    OpenAPI als maschinenlesbarer Vertrag und Consumer-Driven Contract Testing (Pact / Spring Cloud Contract), das eine brechende Änderung erwischt, bevor sie in Produktion gelangt.

    15 Min.
  6. 06

    Auch Events sind Verträge

    Experte

    Async-APIs brauchen dieselbe Disziplin: ein Event-Schema ist ein Vertrag mit jedem Konsumenten, und sichere Evolution bedeutet Kompatibilitätsregeln und ein Registry (Avro/JSON Schema).

    14 Min.