TP API mixtes
Le but de ce TP est de construire le même ensemble de services que dans le TP REST, à savoir : Movie
, Booking
, Shcedule
et User
. Cette fois certaines API seront écrites en GraphQL et en gRPC. Nous obtenons donc une application avec des API mixtes. Si vous ne l’avez pas fait lors des tutoriels, téléchargez le dépôt de code de base (le même que pour le tuto GraphQL) pour ce TP : https://github.com/IMTA-FIL/UE-AD-A1-MIXTE
1. Partie 1 - GraphQL
Le but de ce TP est de venir remplacer les APIs de Movie
et Booking
par des API GraphQL
et de modifier en conséquence les appels faits par Booking
et le mock du frontend.
-
Terminer la réécriture du service
Movie
en GraphQL et le tester -
Modifier le service
Booking
pour faire des requêtes GraphQL et non plus REST surMovie
-
Réécrivez le service
Booking
en GraphQL et le tester
Tip
|
A noter qu’une requête GraphQL est une simple requête HTTP/1.1 avec la
méthode POST . Vous pouvez donc appeler le service Movie en utilisant la méthode requests.post . Attention touefois une subtilité est présente pour envoyer le body de la requête GraphQL response = requests.post("http://movie:3200/graphql",json={'query': query}) .
|
2. Partie 2 - gRPC
Le service Schedule
offrira désormais une API gRPC.
-
Réécrivez le service
Schedule
comme un serveur gRPC et le tester -
Modifier le service
Booking
(client gRPC) pour faire des requêtes gRPC et non plus REST surSchedule
Important
|
Toute modification de l’API gRPC (fichier proto ) nécessite une recompilation du fichier proto concerné et une mise à jour des fichiers générés côté serveur ET côté client !
|