Wir haben diese Microservices-Architektur konzipiert:
Darauf basierend haben wir unsere REST-API für den AccountService designt:
Ein Repository mit Implementierungen für Spring Boot sowie ergänzend gRPC findest Du hier.
Kriterium | SOAP | REST | GraphQL |
---|---|---|---|
HTTP | nur Überträger (nur POST, nur 1 URL) | möglichst vollständig | nur Überträger (nur POST, nur 1 URL) |
Austauschformat | XML (SOAP XSD, W3C-Standards) | JSON o.a. (Content Negotiation) | JSON (Query Syntax in Request Body) |
Vorteil | Nutzen der W3C-XML-*-Standards | Kompatibilität mit HTTP-Netzwerk-Komponenten (Proxies, Firewalls,…), einfaches Ansprechen vom Frontend | Dynamische Datenstrukturen bei der Abfrage (Lazy Loading in der Implementierung), JSON erlaubt Aufrufe vom Frontend wie REST |