GraphQL-Clients
Dies ist eine Zusammenstellung und ein Überblick über einige der beliebtesten Clients zur Interaktion mit GraphQL.
GraphiQL
GraphiQL ist die IDE schlechthin zum Ausführen von GraphQL-queries. Zunächst zusammen mit GraphQL veröffentlicht, machte es sofort deutlich, wie GraphQL eine überlegene Entwicklungserfahrung im Vergleich zu bestehenden APIs bieten konnte – indem es an einem einzigen Ort einen Client zum Ausführen von queries gegen den GraphQL-Server und einen Explorer zum Durchsuchen der Schema-Dokumentation vereint.

Unter anderem bietet GraphiQL folgende Funktionen:
- Tabs
- Benutzerdefinierte Header
- Syntaxhervorhebung
- Intelligente Autovervollständigung von Feldern, Argumenten, Typen und mehr
- Echtzeit-Fehlerhervorhebung und -meldung für queries und Variablen
- Automatische Vervollständigung von queries und Variablen
- Automatisches Hinzufügen erforderlicher Felder zu queries
- Dokumentations-Explorer, Suche, mit Markdown-Unterstützung
- queries-Verlauf über lokalen Speicher
- Themes
Eine Demo ist unter graphql.org/swapi-graphql verfügbar. Erstelle eine GraphQL-query mithilfe des Editors, drücke auf die Schaltfläche "Execute Query" in der Mitte der beiden Bereiche und sieh dir die Antwort auf die query an.
Voyager
Der GraphQL Voyager ist der quintessenzielle interaktive Schema-Visualisierer, der (wie in ihrer Dokumentation beschrieben) den „Graphen hinter GraphQL" zeigt.

Er kommt mit folgenden Funktionen:
- Schnelle Navigation im Graphen.
- Linkes Panel, das detailliertere Informationen zu jedem Typ bereitstellt.
- Option „Skip Relay", die den Graphen vereinfacht, indem Relay-Wrapper-Klassen entfernt werden.
- Möglichkeit, jeden Typ als Wurzel des Graphen auszuwählen.
Eine Live-Demo ist unter ivangoncharov.github.io/graphql-voyager verfügbar.
DociQL
DociQL stellt einen Befehl bereit, um aus einem GraphQL-Endpoint schöne statische HTML5-Dokumentation zu generieren. Nach dem Ausführen des Befehls ist das Ergebnis ein Verzeichnis mit HTML-, CSS- und JS-Dateien, die wir auf unseren Webserver kopieren müssen, um die Dokumentation unseres GraphQL-Schemas anzuzeigen.
Die generierte Dokumentation zeigt standardmäßig ein einseitiges Layout mit 3 Spalten: Links zu allen Typen in der linken Spalte, eine Beschreibung in der Mitte und eine Beispiel-query rechts:

Er kommt mit folgenden Funktionen:
- Verwendet die introspection query, um ein GraphQL-Schema abzurufen, und generiert die Dokumentation im Handumdrehen.
- Generiert ein Beispiel für Anfrage und Antwort mit „Try it now"-Links.
- Erlaubt es, Anwendungsfälle zu definieren und nach Domäne zu gruppieren.
- Konfigurierbar über Handlebars-Templates und SCSS-Stile.
- Markdown-Unterstützung in API-Beschreibungen.
- Responsives HTML5- und CSS3-Layout, das auf allen Geräten und Bildschirmgrößen funktioniert.
- Teildokumentation, einbettbar in eine bestehende Website.
Eine Demo der generierten Dokumentation ist unter wayfair.github.io/dociql verfügbar.
SpectaQL
SpectaQL baut auf DociQL auf, um es besser für GraphQL anzupassen. Es bietet ein Theme, das nur GraphQL-relevante Informationen anzeigt und Inhalte aus dem Swagger/OpenAPI-Bereich entfernt (beispielsweise werden die Meldungen „Response Content-Types: application/json" und „Response Example (200 OK)" aus dem query-Beispiel ausgeblendet).

SpectaQL erlaubt es außerdem, die GraphQL-Schema-Quelle über verschiedene Optionen einzugeben:
- Von einem Live-Endpoint über die introspection query.
- Aus einer Datei, die das Ergebnis einer introspection query enthält.
- Aus einer Datei, mehreren Dateien oder einem Glob, der zu den Schema-Definitionen in SDL führt.
Eine Demo der generierten Dokumentation ist unter useanvil.com/docs/api/graphql/reference verfügbar.
Postman
Postman ist eine API-Plattform zum Erstellen und Verwenden von APIs. Obwohl nicht speziell für GraphQL entwickelt, kann Postman verwendet werden, um GraphQL-queries auszuführen und die Zusammenarbeit bei der Erstellung von GraphQL-APIs zu vereinfachen.

Postman enthält Tools, die den API-Lebenszyklus beschleunigen, darunter Design, Testing, Dokumentation und Mocking von APIs. Außerdem können wir die APIs über Workspaces organisieren, um mit Teammitgliedern auf der ganzen Welt zusammenzuarbeiten.
Altair
Altair ist ein weiteres GraphQL Client IDE, ähnlich wie Postman, aber speziell für GraphQL.

Zusätzlich zu allen Funktionen, die jede GraphQL Client IDE bietet, bietet Altair auch Umgebungen, sodass wir zwischen der Verwendung von APIs für lokale, Staging- und Produktionsumgebungen wechseln können, sowie queries-Sammlungen, um sie einfach mit Teammitgliedern zu teilen.