GraphQL - Componentes do aplicativo
Este capítulo discute os diferentes componentes do GraphQL e a maneira como eles se comunicam. Todos os componentes do aplicativo podem ser distinguidos conforme abaixo -
- Componentes do lado do servidor
- Componentes do lado do cliente
Componentes do lado do servidor
O servidor GraphQL forma o componente principal do lado do servidor e permite analisar as consultas provenientes de aplicativos clientes GraphQL. O Apollo Server é a implementação mais comumente usada da especificação GraphQL. Outros componentes de programação de servidor incluem o seguinte -
Sr. Não. | Fundamentos e descrição do servidor |
---|---|
1 | Schema Um esquema GraphQL está no centro de qualquer implementação de servidor GraphQL e descreve a funcionalidade disponível para os clientes que se conectam a ele. |
2 | Query Uma consulta GraphQL é a solicitação do aplicativo cliente para recuperar dados do banco de dados ou APIs legadas. |
3 | Resolver Os resolvedores fornecem as instruções para transformar uma operação GraphQL em dados. Eles resolvem a consulta aos dados definindo funções de resolução. |
Componentes do lado do cliente
Abaixo estão os componentes do lado do cliente -
Sr. Não. | Ferramenta e descrição |
---|---|
1 | GraphiQL Interface baseada em navegador para editar e testar consultas GraphQL e mutações. |
2 | ApolloClient Melhor ferramenta para construir aplicativos cliente GraphQL. Integra-se bem com todo o front-end javascript. |
O diagrama abaixo mostra um Client-Server architecture. O servidor da web é construído em NodeJs e estrutura Express. Uma solicitação é feita ao Apollo GraphQL Server pelo aplicativo ReactJS (criado com a biblioteca Apollo Client) ou pelo aplicativo de navegador GraphiQL. A consulta será analisada e validada em relação a um esquema definido no servidor. Se o esquema de solicitação passar na validação, as funções de resolução associadas serão executadas. O resolvedor conterá código para buscar dados de uma API ou banco de dados.