Client GraphQL
Questa è una raccolta e una panoramica di alcuni dei client più popolari per interagire con GraphQL.
GraphiQL
GraphiQL è l'IDE per eccellenza per eseguire queries GraphQL. Rilasciato inizialmente insieme a GraphQL, ha reso subito evidente come GraphQL potesse offrire un'esperienza di sviluppo superiore rispetto alle API esistenti, combinando in un unico posto un client per eseguire queries contro il server GraphQL e un explorer per navigare la documentazione dello schema.

Tra le altre cose, GraphiQL offre le seguenti funzionalità:
- Schede
- Header personalizzati
- Evidenziazione della sintassi
- Completamento automatico intelligente di campi, argomenti, tipi e altro ancora
- Evidenziazione e segnalazione degli errori in tempo reale per queries e variabili
- Completamento automatico di queries e variabili
- Aggiunta automatica dei campi obbligatori alle queries
- Explorer della documentazione, ricerca, con supporto Markdown
- Cronologia delle queries tramite memoria locale
- Temi
È disponibile una demo su graphql.org/swapi-graphql. Componi una query GraphQL con l'aiuto dell'editor, premi il pulsante "Execute Query" al centro dei due pannelli e osserva la risposta alla query.
Voyager
Il GraphQL Voyager è il visualizzatore interattivo di schemi per eccellenza, che mostra (come indicato nella loro documentazione) il "grafo dietro GraphQL".

Viene fornito con queste funzionalità:
- Navigazione rapida sul grafo.
- Pannello sinistro che fornisce informazioni più dettagliate su ogni tipo.
- Opzione "Skip Relay" che semplifica il grafo rimuovendo le classi wrapper di Relay.
- Possibilità di scegliere qualsiasi tipo come radice del grafo.
È disponibile una demo live su ivangoncharov.github.io/graphql-voyager.
DociQL
DociQL fornisce un comando per generare una bella documentazione HTML5 statica a partire da un endpoint GraphQL. Dopo aver eseguito il comando, il risultato sarà una directory contenente file HTML, CSS e JS da copiare sul proprio server web per visualizzare la documentazione del proprio schema GraphQL.
La documentazione generata, per impostazione predefinita, mostra un layout a pagina singola con 3 colonne: link a tutti i tipi nella colonna sinistra, una descrizione al centro e un esempio di query a destra:

Viene fornito con queste funzionalità:
- Utilizza la introspection query per recuperare uno schema GraphQL e genera la documentazione al volo.
- Genera un esempio di richiesta e risposta con link "Try it now".
- Consente all'utente di definire casi d'uso e raggrupparli per dominio.
- Configurabile tramite template Handlebars e stili SCSS.
- Supporto Markdown nelle descrizioni delle API.
- Layout responsive HTML5 e CSS3 che funziona su tutti i dispositivi e le dimensioni dello schermo.
- Documentazione parziale, incorporabile in un sito web esistente.
È disponibile una demo della documentazione generata su wayfair.github.io/dociql.
SpectaQL
SpectaQL si basa su DociQL per adattarlo meglio a GraphQL. Fornisce un tema che mostra solo le informazioni rilevanti per GraphQL, rimuovendo i contenuti del dominio Swagger/OpenAPI (ad esempio, scarta i messaggi "Response Content-Types: application/json" e "Response Example (200 OK)" mostrati nell'esempio di query).

SpectaQL consente inoltre di inserire la sorgente dello schema GraphQL utilizzando diverse opzioni:
- Da un endpoint attivo tramite la introspection query.
- Da un file contenente il risultato di una introspection query.
- Da un file, più file o un glob che conduce alle definizioni dello schema in SDL.
È disponibile una demo della documentazione generata su useanvil.com/docs/api/graphql/reference.
Postman
Postman è una piattaforma API per creare e utilizzare API. Sebbene non sia stato progettato specificamente per GraphQL, Postman può essere utilizzato per eseguire queries GraphQL e semplificare la collaborazione nella creazione di API GraphQL.

Postman include strumenti che aiutano ad accelerare il ciclo di vita delle API, tra cui progettazione, test, documentazione e mocking delle API. Ed è possibile organizzare le API tramite workspace per collaborare con i membri del team distribuiti in tutto il mondo.
Altair
Altair è un altro GraphQL Client IDE, simile a Postman ma specifico per GraphQL.

Oltre a tutte le funzionalità offerte da qualsiasi GraphQL client IDE, Altair propone anche ambienti, in modo da poter passare dall'utilizzo delle API per ambienti locali, di staging e di produzione, e raccolte di queries, per condividerle facilmente con i membri del team.