Formateur GraphQL

Formatez et beautifiez vos requêtes, mutations et schemas GraphQL.

GraphQL Source

Formatage

Options

GraphQL Formaté

Guide GraphQL

Pourquoi GraphQL

Après avoir travaillé avec REST pendant des années, j'ai adopté GraphQL pour sa flexibilité. Le client demande exactement les données dont il a besoin : ni plus, ni moins. Fini le sur-fetching et les multiples requêtes. Un seul endpoint, des requêtes déclaratives, et une introspection puissante du schema.

Concepts clés

Queries

Lecture de données. Équivalent du GET REST mais avec sélection précise des champs.

Mutations

Modification de données (create, update, delete). Retournent les données modifiées.

Subscriptions

Temps réel via WebSocket. Le serveur pousse les mises à jour au client.

Fragments

Réutilisation de sélections de champs. DRY pour les requêtes complexes.

Bonnes pratiques

  • Nommez vos opérations : query GetUser au lieu de query anonyme, pour le débogage
  • Utilisez des variables : Évitez la concaténation de strings, utilisez $variables
  • Fragments : Réutilisez les sélections de champs avec fragment ... on Type
  • Aliases : Renommez les champs avec alias: field pour éviter les conflits

Questions fréquentes

GraphQL remplace-t-il REST ?

Pas nécessairement. GraphQL excelle pour les clients variés (mobile, web) avec des besoins différents, et les données fortement relationnelles. REST reste pertinent pour les APIs simples, le caching HTTP, et les uploads de fichiers. Beaucoup de systèmes utilisent les deux.

Comment fonctionne le caching avec GraphQL ?

Le caching HTTP standard ne fonctionne pas car tout passe par POST sur un seul endpoint. Les solutions : 1) Caching côté client (Apollo Client, Relay), 2) Persisted queries avec GET, 3) CDN avec hashing des queries. Apollo Client normalise automatiquement le cache.

Quand utiliser des fragments ?

Utilisez des fragments quand vous répétez les mêmes sélections de champs. Par exemple, les infos utilisateur (id, name, email, avatar) utilisées dans plusieurs queries. Les fragments améliorent la maintenabilité et permettent la colocation avec les composants React.

Comment gérer les erreurs en GraphQL ?

GraphQL retourne toujours HTTP 200, même en cas d'erreur. Les erreurs sont dans le champ « errors » de la réponse. Vous pouvez avoir des données partielles (certains champs résolus, d'autres en erreur). Structurez vos types pour retourner Result unions (Success | Error).