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