REST et GraphQL sont deux façons de bâtir une API. REST est simple et éprouvé ; GraphQL laisse les clients demander exactement les données voulues. Aucun n'est « meilleur » — ils conviennent à des situations différentes.
La différence clé
Avec REST, le serveur définit des points d'accès fixes renvoyant chacun une forme de données fixe. Avec GraphQL, il y a un point d'accès et le client décrit précisément ce qu'il veut. GraphQL évite la sur-récupération ; REST est plus simple à bâtir, mettre en cache et raisonner.
| REST | GraphQL | |
|---|---|---|
| Points d'accès | Nombreux, fixes | Un, flexible |
| Forme des données | Le serveur décide | Le client décide |
| Cache | Simple (HTTP) | Plus de travail |
| Courbe d'apprentissage | Faible | Plus élevée |
Quand REST est le bon choix
Pour la plupart des API — un back-end de site, une appli mobile, une intégration tierce — REST est le standard pragmatique. Il est compris universellement, facile à mettre en cache, et il existe un outil pour tout. N'ajoutez pas la complexité de GraphQL sans raison.
Quand GraphQL fait ses preuves
GraphQL brille quand de nombreux clients différents ont besoin de tranches différentes de données complexes et liées — pensez à une appli riche puisant dans des dizaines de types, où REST signifierait de nombreux allers-retours ou des réponses gonflées.