3. ÜBER UNS
Wer bin ich - und wenn ja, wie viele?
• Enterprise Architect
• Enterprise & mehr
• Autor, Speaker, Berater, Coach
• Tauch & Ski Enthusiast
• Grillmeister & Hobbygärtner ;)
STEPHAN MÜLLER
SM
5. #WISSENTEILEN
„Order 123 for
‚Larissa‘.“
„And here‘s the
receipt.“
„Here‘s 5$.“
„What‘s the
status of ‚123‘?“„Still preparing.“
„Now its ready.“
API-First Design mit Swagger/OAS by Example
{?} „Coffee, latte,
large, to-go,
semi, double
shot, please.“
6. #WISSENTEILEN
place an ORDER (UC-01)
customize the ORDER (UC-02)
pay for ORDER (UC-03)
check status of ORDER (UC-04)
add ORDER
to queue
deliver ORDER
API-First Design mit Swagger/OAS by Example
{?}
11. #WISSENTEILEN
API-First!
#1 – Planen
#2 – Entwerfen & Validieren
#3 – Überarbeiten
#4 – Testen
#5 – Implementieren
#6 – Betreiben & Lernen (zurück zu #1)
API-First Design mit Swagger/OAS by Example
{?}
12. #WISSENTEILEN
Was brauchen wir zur Umsetzung?
• Repräsentation der Order (JSON, XML, ...)
• Kommunikation zwischen Client & Service (HTTP)
• den Service selbst als Ressource (URI)
• und … (z.B. custom Header)
{?}
API-First Design mit Swagger/OAS by Example
14. #WISSENTEILEN
// UC-01 order coffee
// UC-02 change order
// UC-03 pay order
// UC-04 check order status
APIbucks
15. #WISSENTEILEN
// UC-01 order coffee
POST /orders
{ ... initial order data ... }
// UC-02 change order
PUT /orders/1234
{ ... some changes ... }
// UC-03 pay order
POST /payments
{ ... payment data & order id ... }
// UC-04 check order status
GET /orders/1234
APIbucks
16. #WISSENTEILEN
Swagger / Open API Specification (OAS)
API-First Design mit Swagger/OAS by Example
Design mit Swagger Editor Build mit Swagger Codegen Dokumentiere mit Swagger-UI
17. #WISSENTEILEN
Swagger / Open API Specification (OAS)
API-First Design mit Swagger/OAS by Example
Teste mit Postman Integriere alles mit SWAGGERhub
18. #WISSENTEILEN
3rd Party Tools mit Swagger/OAS Unterstützung
• Dokumentiere mit ReDoc & Asciidoc
• Prüfe Consumer-driven Contracts mit Pact
• Implementiere client-seitige Validierung auf Basis von JSON-
Schema
API-First Design mit Swagger/OAS by Example