Après des années à faire des APIs en REST, le mode est en train d'évoluer vers un nouveau format d'échange de données : le GraphQL. Essayons ensemble en 20 minutes de monter un back office GraphQL fonctionnel.
2. Qu’est-ce que GraphQL ?
La version courte : l’avenir des APIs
1. Lorsqu’on appelle un endpoint, on reçoit toutes les infos que le back souhaite
envoyer
2. Si on veut plusieurs types d’objet, il faudra plusieurs appels
3. Les relations entre les objets ne sont pas simples à conceptualiser
4. Les endpoints doivent être définis en amont
Quelques défauts des APIs actuelles :
3. Et avec GraphQL ?
1. Lorsqu’on appelle un endpoint, on reçoit toutes les infos que le back souhaite
envoyer On définit en JSON les données attendues en retour
2. Si on veut plusieurs types d’objet, il faudra plusieurs appels On peut appeler les
objets liés dans un même appel.
3. Les relations entre les objets ne sont pas simples à conceptualiser Les relations
sont aussi simple que leur représentation JSON
4. Les endpoints doivent être définis en amont On définit les objets et le front choisit
ce qu’il veut en faire.
4. Un exemple ?
La version REST : https://swapi.co/
La version GraphQL : https://graphql.org/swapi-graphql/
5. Créons le nôtre avec Prisma
Faisons ensemble un endpoint graphql de gestion de manga avec auteur, volume et catégorie.