GraphQL-clients
Dit is een overzicht van enkele van de populairste clients om te werken met GraphQL.
GraphiQL
GraphiQL is de IDE bij uitstek om GraphQL queries uit te voeren. Aanvankelijk samen met GraphQL uitgebracht, maakte het meteen duidelijk hoe GraphQL een ontwikkelervaring kon bieden die superieur is aan die van bestaande API's, door op ƩƩn plek een client voor het uitvoeren van queries tegen de GraphQL-server en een verkenner voor het doorbladeren van de schemadocumentatie te combineren.

GraphiQL biedt onder andere de volgende functies:
- Tabbladen
- Aangepaste headers
- Syntaxismarkering
- Intelligente aanvulling van velden, argumenten, typen en meer
- Realtime foutenmarkering en -rapportage voor queries en variabelen
- Automatische aanvulling van queries en variabelen
- Automatisch toevoegen van verplichte velden aan queries
- Documentatieverkenner met zoekfunctie en ondersteuning voor Markdown
- Geschiedenis van queries via lokale opslag
- Thema's
Er is een demo beschikbaar op graphql.org/swapi-graphql. Stel een GraphQL query op met de editor, klik op de knop "Execute Query" in het midden tussen de twee vensters en bekijk de respons op de query.
Voyager
GraphQL Voyager is de ultieme interactieve schemavisualisator, die (zoals ze in hun documentatie vermelden) de "graph achter GraphQL" toont.

Het biedt de volgende functies:
- Snelle navigatie in de graph.
- Linkerpaneel met gedetailleerde informatie over elk type.
- De optie "Skip Relay" die de graph vereenvoudigt door Relay-wrapperklassen te verwijderen.
- Mogelijkheid om elk type als root van de graph te kiezen.
Er is een live demo beschikbaar op ivangoncharov.github.io/graphql-voyager.
DociQL
DociQL biedt een commando om mooie statische HTML5-documentatie te genereren vanuit een GraphQL-endpoint. Na het uitvoeren van het commando is het resultaat een map met HTML-, CSS- en JS-bestanden die je naar je webserver moet kopiƫren om de documentatie van je GraphQL-schema weer te geven.
De gegenereerde documentatie toont standaard een single-page-indeling met 3 kolommen: links naar alle typen in de linkerkolom, een beschrijving in het midden en een voorbeeldquery rechts:

Het biedt de volgende functies:
- Gebruikt de introspection query om een GraphQL-schema op te halen en documentatie dynamisch te genereren.
- Genereert een voorbeeldverzoek en -respons met "Try it now"-links.
- Stelt de gebruiker in staat use cases te definiƫren en deze per domein te groeperen.
- Configureerbaar via Handlebars-sjablonen en SCSS-stijlen.
- Ondersteuning voor Markdown in API-beschrijvingen.
- Responsieve HTML5- en CSS3-indeling die werkt op alle apparaten en schermformaten.
- Gedeeltelijke documentatie, in te sluiten in een bestaande website.
Er is een demo van de gegenereerde documentatie beschikbaar op wayfair.github.io/dociql.
SpectaQL
SpectaQL bouwt voort op DociQL om het beter aan te passen aan GraphQL. Het biedt een thema dat alleen GraphQL-relevante informatie weergeeft en inhoud uit het Swagger/OpenAPI-domein verwijdert (het verwijdert bijvoorbeeld de berichten "Response Content-Types: application/json" en "Response Example (200 OK)" die in het queryvoorbeeld verschijnen).

SpectaQL biedt ook de mogelijkheid om de GraphQL-schemabron op verschillende manieren in te voeren:
- Van een live endpoint via de introspection query.
- Van een bestand met het resultaat van een introspection query.
- Van een bestand, meerdere bestanden of een glob die verwijst naar de schemadefinities in SDL.
Er is een demo van de gegenereerde documentatie beschikbaar op useanvil.com/docs/api/graphql/reference.
Postman
Postman is een API-platform voor het bouwen en gebruiken van API's. Hoewel niet specifiek voor GraphQL gebouwd, kan Postman worden gebruikt om GraphQL queries uit te voeren en de samenwerking bij het ontwikkelen van GraphQL API's te stroomlijnen.

Postman bevat tools die de API-levenscyclus helpen versnellen, waaronder ontwerp, testen, documentatie en mocking van API's. Je kunt API's organiseren via werkruimten om samen te werken met teamleden verspreid over de hele wereld.
Altair
Altair is nog een GraphQL Client IDE, vergelijkbaar met Postman maar specifiek voor GraphQL.

Naast alle functies die elke GraphQL-client-IDE biedt, biedt Altair ook omgevingen, zodat je kunt schakelen tussen het gebruik van API's voor lokale, staging- en productieomgevingen, en querycollecties om eenvoudig te delen met teamleden.