Walking Skeleton
Ein echter HTTP-Aufruf erreicht den Use Case, speichert eine Bestellung und liefert eine beobachtbare Antwort.
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-IDBewusst 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.