GraphQL é uma linguagem de consulta para APIs que permite que clientes solicitem exatamente os dados de que precisam através de um único ponto de entrada. Ele define um esquema que especifica quais consultas os clientes podem fazer e como os dados estão relacionados. Resolvers retornam os dados solicitados e mutações permitem modificações, enquanto subscriptions fornecem atualizações em tempo real. Ferramentas como Apollo e GraphQL Playground facilitam o desenvolvimento com GraphQL.
3. “GraphQL is a query language for your API, and
a server-side runtime for executing queries by
using a type system you define for your data.”
https://graphql.org/learn
11. Os princípios básicos do GraphQL
Query para obter dados
Mutation para manipulação de dados
Subscription para obter dados em tempo real
12. Alguns conceitos
Queries: os clientes as enviam para especificar os dados de que precisam.
Schema: O contrato para comunicação cliente-servidor. Especifica quais consultas
os clientes podem fazer, o que pode ser buscado e os relacionamentos entre os
tipos.
Resolvers: Uma função ou método que resolve um valor para um tipo ou campo
no schema.
25. Resolvers
Os resolvers recebem os seguintes argumentos:
● root - Resultado do tipo anterior / pai
● args - argumentos fornecidos para o campo
● context - um objeto mutável que é fornecido a todos os resolvers
● info - contém (Abstract syntax tree) AST da consulta e mais
informações de execução
30. OK...MAS E A DEMO?
Servidor:
https://codesandbox.io/embed/graphql-intro-server-pcc8w
Cliente:
https://codesandbox.io/embed/graph-intro-client-f4ekh