Você está na página 1de 15

Faculdade SENAC Pelotas

Análise e Desenvolvimento de Sistemas

Tópicos Especiais
Olá!
Jones Bunilha Radtke

Administrador de Redes
Analista e Desenvolvedor de Sistemas

● Back-end Developer
● DevOps

jones.radtke@brainny.cc
Olá!
Miguel N. Boanova

Analista e Desenvolvedor de Sistemas

● Front-end Developer
● Mobile Developer

miguel.boanova@brainny.cc
Sumário

● Definição
● REST x GraphQL
● Quem utiliza?
● Principais elementos do GraphQL
● Mãos a obra
● Referências
Definição

“ O GraphQL é uma linguagem de consulta para APIs.


Fornece uma descrição completa e compreensível dos
dados da API, assim os clientes solicitam exatamente
o que precisam e nada mais.

Fonte: https://graphql.org
Definição

Com REST, em uma rota de listagem,


normalmente é entregue uma
lista com todos os dados.
Definição

Consulta GraphQL solicita


exatamente o que precisa e
nada mais e nada a menos.

Fonte: https://graphql.org
REST x GraphQL

● Multiplos endpoints; ● Único endpoint;


● Verbos do HTTP (GET, POST, PUT, DELETE); ● Consultas GraphQL no body das requisições
● Difícil documentação e escalabilidade; (Criar, Atualizar e Excluir dados);
● Complexidade de URLs; ● Poucos dados em cada consulta;
● Uma nova URL para cada necessidade. ● Delegação das necessidades para o frontend.
Quem utiliza?
Principais Elementos GraphQL

Field
Uma unidade básica de dados retornado por um request. Exemplo: id, name, city...

Query Type
Operação de busca básica para solicitar dados no GraphQL.

Mutation Type
Uma operação básica do GraphQL que irá manipular dados. (Criar, modificar e excluir).
Principais Elementos GraphQL

Resolver
Função que conecta os elementos do schema GraphQL a lógica de entrega de dados.

Schema
É a peça central de toda implementação de servidor GraphQL. Responsável descrever as
funcionalidades disponíveis para o aplicação cliente.
Mãos a Obra
Mãos a Obra

○ Ferramentas
-GraphCool [https://www.graph.cool/]
-Insomnia [https://insomnia.rest]
Thanks!
Alguma dúvida?

jones.radtke@brainny.cc miguel.boanova@brainny.cc

Você também pode gostar