Um momento
Aula 02
Cursos / GraphQL com Express (Servidor Backend API JSON)
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 como nome, tagline e uma lista de contribuintes).
  • 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: