Aula 02
Sobre o GraphQL (Aula Tutorial)
Summary
Resumo sobre GraphQL
Nesta aula, foi abordado o conceito de GraphQL e como ele funciona para estruturar e compartilhar dados entre cliente e servidor.
Estrutura do GraphQL
- Definição de Modelos: No GraphQL, os dados são organizados em tipos (por exemplo,
projeto
com atributos comonome
,tagline
e uma lista decontribuintes
). - Query: Uma das palavras-chave principais em GraphQL, permitindo que o cliente solicite exatamente as informações desejadas. Por exemplo:
query { projeto(nome: "GraphQL") { tagline } }
- Resposta: A resposta vem em formato JSON, contendo apenas as informações solicitadas, o que reduz a quantidade de dados transferida e melhora a eficiência.
Funcionamento do GraphQL
- Ponto Único de Acesso: GraphQL funciona através de um único endpoint (ex.:
/graphql
) onde todas as requisições (leitura, criação, atualização, deleção) são realizadas. Isso contrasta com APIs REST que normalmente têm múltiplos endpoints. - Intermediário: O GraphQL pode agir como intermediário entre o cliente e várias fontes de dados (outros APIs ou bancos de dados), reunindo e enviando apenas os dados requisitados.
Exemplos de Queries
- O usuário pode solicitar somente os dados necessários. Por exemplo, ao requisitar informações sobre um herói, pode-se especificar quais atributos (como
nome
,altura
, etc.) são desejados:query { heroi { nome altura massa } }
Benefícios do GraphQL
- Eficiência e Velocidade: O uso do GraphQL pode acelerar o carregamento de dados, especialmente em condições de conectividade lenta.
- Flexibilidade: Os desenvolvedores podem pedir exatamente os dados que precisam, evitando transferências de informações desnecessárias.
Ferramenta GraphiQL
- O curso irá usar uma ferramenta chamada GraphiQL para realizar testes de queries, focando no desenvolvimento do servidor GraphQL.
Considerações Finais
- Recomenda-se explorar a documentação no site do GraphQL (graphql.org) para mais informações e contextos de uso.
Para a próxima aula, prepare-se para aprofundar mais no desenvolvimento com GraphQL.
Video Transcript
estamos de volta estou aqui no site do GraphQL você pode ir em graphql.org
então no GraphQL a gente vai ter que dizer o GraphQL como é que os nossos dados
são estruturados por isso que tem que dizer aqui descreva e seus dados a gente
vai ter que dizer o GraphQL primeiro como é que os dados estruturados é
aí do do lado do cliente tá nós vamos fazer esse curso a focar no servidor
mas do lado do cliente você pede a informação que você quiser nesse caso
tem um tipo que de dado chamado modelo projeto que tem o nome e tagline os
contribuintes contribuintes é uma lista de usuários o nome e tagline são apenas
strings aí você pode fazer uma query essa palavra chave query vai ouvir muito no
GraphQL a palavra query
ah query
então você pede que a informação que você quiser por exemplo esse eu quero
eu quero informação sobre o projeto cujo nome é GraphQL e eu quero só a tagline
não me importa pelo nome eu não me importa pelos contribuintes eu só quero
a tagline desse projeto cujo nome é GraphQL ele vai você vai obter essa
resposta aqui em Jason um projeto que tem tagline a query language for IPS
né esse negócio aqui então essa essa é a que a gente vai ficar fazendo no
GraphQL você pedir os dados que você quiser vai descrever na sua query aquilo
que você quiser exatamente eu quero esse esse tipo de dado nesse modelo
somente isso eu não quero nada mais e o GraphQL vai te mandar só aquilo então
fica muito a não vai precisar mandar todos todas as propriedades do modelo
pro cliente dessa maneira a a banda diminui pro usuário e o usuário vai
vai receber aquilo rapidamente porque o tamanho é menor
então aqui query language linguagem de query essa é a palavra chave query para
o API que é legal sobre GraphQL é que do lado da parte do servidor você pode
ter vários tipos de modelos né companhia tem vários companhia tem vários
produtos e cada produto em vários modelos então esses recursos não precisa
ser centralizado em uma só em um só banco de dados você pode até chamar
outras API para poder obter as informações o GraphQL só vai agir como o
intermediário assim então a gente vai fazer o seguinte você vai do cliente
vai chamar o servidor no endpoint do GraphQL aí o GraphQL pega a tá certo
você quer essa informação tá certo eu vou ver aqui como é que você para achar
essa informação então se eu quiser a informação desse modelo a
ok você tem que dizer o GraphQL como é que você vai obter as informações
para o modelo a aí você faz o pedido e pega o modelo a do servidor né parte do
servidor aí tem também informações que envolve modelo b aí o GraphQL você tem
que dizer e GraphQL para você obter informações sobre o modelo b você tem
que fazer esse pedido aqui para essa API por exemplo aí ele faz pedir obter
informações combina com o modelo informação modelo a pega aquele tudo em
brulho e manda para o cliente tá é isso que o GraphQL vai fazer então não
precisa centralizar todos os dados você pode ter o GraphQL rodando no servidor e
você pode fazer pedido para várias API de qualquer lugar ou até a banco de dados
local tá
e tá aqui demonstrando mais uma vez que você pode pedir por exemplo eu quero o
hero né o herói modelo herói me deu nome me dê a altura e me dê a massa e ele
vai te dar resposta do GraphQL nome é look aí se você quiser mais dados a
altura é mais dados massa 77
e é bom então aqui é muito importante que é muito importante
você pode obter vários recursos em um só pedido é importante o GraphQL você
tem que entender que no GraphQL só tem um endpoint só tem um endpoint tá
deixa eu escrever esse negócio aqui a gente já viu aqui que no resto tem
um endpoint tem um dois dois quatro cinco só para fazer esse negócio aqui da
companhia né mas no GraphQL só vai ter um o GraphQL só vai ter um endpoint a
gente vai chamar de barra GraphQL pode ser qualquer coisa que você quiser
vou chamar de barra GraphQL então tudo vai ser voltado a esse endpoint que todos
os pedidos você vai pedir para o barra GraphQL tá certo barra GraphQL vai ser o
único endpoint que você vai fazer tudo vai ler dados vai criar dados vai
atualizar dados vai deletar tudo lá centralizado no único endpoint então
importante isso tá dizendo aqui a tipo a rest api típica requer e vários o RL
mas o GraphQL pode fazer só um tá
aplicativos usando GraphQL pode ser rápidos até quando você tem conexões
de celular que são devagar são muito lentas tá
ele ilustrou aqui o celular e o anúvem né o GraphQL pode rodar aqui e você vai
pedir do celular vai para o GraphQL o GraphQL sabe você descreva com como
a da a os dados são estruturados e como obter os dados ele pega servidor ABC
pega tudo em brulho e manda de volta para o cliente só aqueles dados que são
necessários que o cliente pediu
tá então tá aqui olha aqui tá descrevendo né tá dizendo que as apis de
GraphQL são organizadas em termos dos tipos e campos não é endpoint tem nada de
endpoint só tem um a gente não se importa muito com isso a gente só se importa
sobre tipo de dados e os campos de cada tipo tá
o notebook tem o tipo query tem um cara o character né tem um planeta espécies
você está descrevendo o tipo né a estrutura de cada tipo de cada recurso
por exemplo esse é o que tem o nome tem vários amigos né friends que é uma
lista de caras tem o planeta o mundo natal né planet tipo planet planeta
natal espécie tem tipo espécie sim por diante
tá aí você pode fazer o pedido eu quero esse herói com o quero o nome do
herói eu quero os amigos do herói mas dos amigos só me dê o nome dos amigos
o planeta natal e se você me dá o planeta natal eu quero saber o nome e o
clima e quero a espécie de dos amigos de cada amigo mas eu quero só saber do
nome do laxfm e da origem e da origem só quero saber do nome
você pode dizer exatamente o dado que você quer que vai precisar no
front end
esse aqui tá falando do grafico o graf e que ele quer que é uma ferramenta que a
gente vai usar para poder fazer pedidos queries do graf real para o servidor
porque a gente vai focar nesse curso na parte do servidor de graf real aí do
que a gente vai usar o cliente chamado grafico para a gente poder fazer essas
queries para testar tá tá bom e dizendo que evolua sua pi sem versões
traga seu próprio código da propriedades de código não sei o que
tá bom quem tá usando graf real e esse negócio então eu recomendo você olhar
essa página graf real o graf que ele ponto o orn tá bom então por essa aula só e até a próxima
Nenhum comentário ainda (loading...)
Nenhum comentário ainda (loading...)
Gostou da aula? 😆👍
Apoie nosso trabalho com uma doação: