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.