GraphQL est un langage de requête pour API développé par Meta en 2015. Contrairement à REST, le client décrit exactement la structure des données qu'il souhaite recevoir, éliminant le sur-fetching et le sous-fetching.
Requêtes sur mesure
Le client compose sa requête et reçoit exactement les champs demandés, dans une seule requête. Plus besoin de multiplier les endpoints REST ou de recevoir des payloads surdimensionnés. C'est un avantage décisif pour les interfaces riches (dashboards, applications mobiles).
Schéma typé et introspectable
Le schéma GraphQL décrit toutes les données disponibles avec leurs types. Il sert de contrat entre le frontend et le backend, permet l'auto-complétion dans les IDE et génère automatiquement la documentation. API Platform supporte GraphQL nativement.
GraphQL excelle quand le frontend a besoin de flexibilité, mais REST reste souvent plus simple pour les API publiques avec des cas d'usage prévisibles. Le choix dépend du contexte, pas d'une mode.