GraphQL - Composants d'application
Ce chapitre traite des différents composants GraphQL et de la manière dont ils communiquent entre eux. Les composants d'application entiers peuvent être distingués comme ci-dessous -
- Composants côté serveur
- Composants côté client
Composants côté serveur
Le serveur GraphQL constitue le composant principal côté serveur et permet d'analyser les requêtes provenant des applications client GraphQL. Apollo Server est l'implémentation la plus couramment utilisée de la spécification GraphQL. Les autres composants de programmation du serveur comprennent les éléments suivants:
N ° Sr. | Éléments essentiels et description du serveur |
---|---|
1 | Schema Un schéma GraphQL est au centre de toute implémentation de serveur GraphQL et décrit les fonctionnalités disponibles pour les clients qui s'y connectent. |
2 | Query Une requête GraphQL est la demande de l'application cliente pour récupérer des données de la base de données ou des API héritées. |
3 | Resolver Les résolveurs fournissent les instructions pour transformer une opération GraphQL en données. Ils résolvent la requête en données en définissant des fonctions de résolveur. |
Composants côté client
Vous trouverez ci-dessous les composants côté client -
N ° Sr. | Outil et description |
---|---|
1 | GraphiQL Interface basée sur un navigateur pour l'édition et le test des requêtes et des mutations GraphQL. |
2 | ApolloClient Meilleur outil pour créer des applications clientes GraphQL. S'intègre bien avec tous les frontaux javascript. |
Le diagramme ci-dessous montre un Client-Server architecture. Le serveur Web est construit sur NodeJs et le framework Express. Une demande est faite au serveur Apollo GraphQL par l'application ReactJS (construite à l'aide de la bibliothèque client Apollo) ou par l'application de navigateur GraphiQL. La requête sera analysée et validée par rapport à un schéma défini dans le serveur. Si le schéma de requête réussit la validation, les fonctions de résolveur associées seront exécutées. Le résolveur contiendra du code pour récupérer les données d'une API ou d'une base de données.