1.4 KiB
1.4 KiB
title, created, updated, type, tags, confidence, contested, sources
| title | created | updated | type | tags | confidence | contested | sources | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| GraphQL | 2026-06-06 | 2026-06-06 | concept |
|
high | false |
|
💻 ◈ GraphQL
Définition Courte
Langage de requête pour APIs créé par Facebook (2012, open-sourcé en 2015) permettant au client de demander exactement les données dont il a besoin, en une seule requête.
Explication Détaillée
Contrairement à REST où le serveur définit la forme des réponses, GraphQL inverse la donne : le client écrit une requête qui spécifie les champs. Un endpoint unique (/graphql) sert toutes les demandes.
Avantages : évite le sur-fetching et le under-fetching, une seule requête pour des données multiples, schéma typé fort (introspection). Inconvénients : complexité côté serveur (resolvers, N+1 queries), caching HTTP classique cassé, rate limiting plus complexe.
Cas d'Usage
- APIs avec des vues très variées (mobile + web + desktop).
- Données fortement relationnelles (réseau social, e-commerce).
- Frontend découplé d'un backend existant.
Outils Liés
- Serveurs : Apollo Server, Hasura, Graphene, Mercurius.
- Clients : Apollo Client, Relay, urql.
- Federation : Apollo Federation, GraphQL Mesh.
Pages Liées
Questions Ouvertes
- La complexité de GraphQL est-elle justifiée pour des apps simples ?
- Comment gérer l'auth fine par champ avec GraphQL ?