Typsichere GraphQL-APIs mit Java und React erstellen

Mit GraphQL lassen sich nahezu beliebige Querys auf einem Server ausführen. Wir zeigen die Entwicklung einer API für eine Java-Anwendung mit graphql-java.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht
Typsichere GraphQL-APIs mit Java und React
Lesezeit: 19 Min.
Von
  • Nils Hartmann
Inhaltsverzeichnis

GraphQL ist eine von Facebook entwickelte Abfragesprache, die die Kommunikation zwischen (Web-)Client und Server effizienter gestalten soll. Im Unterschied zu RESTful-APIs, die hierfür üblicherweise zum Einsatz kommen, können Entwickler mit GraphQL gezielt Daten abfragen. Zudem sind die Datenfelder in GraphQL-Datenstrukturen typisiert, sodass fehlerhafte Zugriffe früher entdeckt werden können.

Als Beispiel für die Entwicklung einer GraphQL-API dient eine kleine Anwendung zur Projektverwaltung, die sich auf GitHub befindet. Die Projekte untergliedern sich in Tasks. Sowohl Projekte als auch Tasks sind Benutzern zugewiesen. Während das Backend der Anwendung mit Java implementiert ist, ist das Frontend in React und TypeScript geschrieben. Auf der Weboberfläche sollen je nach Ansicht unterschiedliche Daten aus allen beteiligten Entitäten (Project, Task, User et cetera) erscheinen und die Schnittstelle der Anwendung soll für Erweiterungen und weitere Clients offen sein. Dafür steht eine GraphQL-Schnittstelle zur Verfügung.

Bessere APIs mit GraphQL

Abhängig davon, welche Ansicht der Benutzer öffnet, lädt die Anwendung unterschiedliche Daten. Die Projektübersichtsseite etwa enthält den Projekttitel, dessen Besitzer und die Kategorie der einzelnen Projekte (siehe folgende Abbildung).