erster End-to-End-Pfad

Walking Skeleton

Ein echter HTTP-Aufruf erreicht den Use Case, speichert eine Bestellung und liefert eine beobachtbare Antwort.

Java 21HTTP 201In-Memory Fakeein Produktionsmodul

Walking Skeleton

Ziel

liefert den ersten echten, vollständig durchgehenden Pfad des TDD-First-Projekts. Eine reale HTTP-Anfrage wird angenommen, in einen Use-Case-Befehl übersetzt, fachlich verarbeitet, in einem zustandsbehafteten In-Memory-Repository gespeichert und als HTTP-201-Antwort zurückgegeben.

Durchgehender Weg

POST /api/v1/orders
        ↓
PlaceOrderHttpHandler
        ↓
PlaceOrderUseCase
        ↓
ProductPriceSource + OrderIdGenerator
        ↓
OrderRepository
        ↓
HTTP 201 + Location + X-Correlation-ID

Bewusst kleiner fachlicher Umfang

  • genau eine Produktposition wird aus dem gemeinsamen Beispiel verarbeitet
  • der Preis stammt aus einer In-Memory-Preisquelle
  • der Gesamtbetrag wird fachlich berechnet
  • die Bestellung wird im Zustand PLACED gespeichert
  • Customer-Aktivität, Produktlebenszyklus und vollständige Idempotenz folgen in den dafür vorgesehenen Fachkapiteln

Diese Grenze verhindert, dass bereits die späteren Customer-, Catalog- oder Order-Phasen vorwegnimmt.

Beobachtbarer Vertrag

  • Methode: POST
  • Pfad: /api/v1/orders
  • Erfolg: HTTP 201
  • Antwortheader: Location und X-Correlation-ID
  • Status: PLACED
  • Gesamtbetrag für zwei Stück: 99,80 EUR
  • Speicherwirkung: genau eine Bestellung

Struktur

Die erste Modulgrenze ist absichtlich klein. Der Maven-Reaktor enthält genau ein ausführbares Modul. Interne Packages machen Verantwortlichkeiten sichtbar, ohne vorzeitig mehrere Produktionsmodule zu erzwingen.

Starten

./mvnw -pl projects/02-tdd-first/tdd-walking-skeleton -am test

Für den lokalen Lauf kann die Startklasse auf Port 8080 ausgeführt werden. Der Endpunkt ist danach unter http://127.0.0.1:8080/api/v1/orders erreichbar.

Darstellung

Design
Text
Dichte
⌂ Cockpit