GraphQl - Introdução

A query language for you API
Oque é GraphQL?
GraphQL é uma linguagem de Query (bem como SQL) criada pelo Facebook em 2012 e lançada publicamente em 2015. É visto pela comunidade como uma alternativa ao padrão REST, o qual reina sobre o desenvolvimento.
É importante eliminar logo de cara a ideia de que o GraphQL vai matar o REST. Ambos os estilos de arquitetura possuem suas próprias características e cada uma se encaixa em situações diferentes.
Para que serve o GraphQL afinal?
A principal função do GraphQl é evitar o Overfetching, ou seja buscar da requisição apenas o necessário, isso em ambientes como AWS que tem a monetização pay per use (cobra pelo tráfego da informação) é uma mão na roda, ja que você não gasta dinheiro atoa com dados de uma requisição que vocẽ não precisaria.
Como faço para usá-lo?
Inicie o Package.json
npm init -y
yarn init -y
Baixe as dependências
npm install apollo-server graphql
yarn add apollo-server graphql
Coding
Starter index.js
Sem definição de tipos do GraphQl.
Observação!
No graphQl toda requisição é post, e toda Request bate no mesmo endpoint que por convenção é /graphql .
Então, como é que a requisição sabe oque ela precisa fazer ou que rumo ela precisa tomar?

R: Nós fazemos isso por meio de Query, Mutation.

Se nós quisermos listar as informações específicas de um usuário por exemplo nos usamos Query

Em paralelo com HTTP ela seria o método GET

Já Mutation ele serve pra quando queremos manipular dados

Em paralelo com HTTP (POST/PUT/PATCH/DELETE)

Scalar Types
São basicamente os tipos primitivos que temos, são eles:
  • String
  • Int
  • Boolean
  • Float
  • ID
  • Beleza, então como escrevemos agora um hello world com GraphQl?
    Hello World
    Dentro das definições de tipos nos diremos oque o usuário poderá pesquisar, assim:

    Imagem das definições de tipos

    Logo em seguida, diremos oque o usuário poderá obter com os 'resolvers', ao realizar uma consulta onde tentará trazer o hello por meio de sua requisição do tipo Query.
    Observação!
    O GraphQl usa o mapeamento de 1-1 logo a primeira informação a ser consultada na Query, deve ser também a primeira a ser trazida no resolver de sua Query e assim sucessivamente.

    Imagem da Query + Resolver

    Executando o código
    Primeiro inicializamos o servidor.
    node src/index.js
    🚀 Server Started at http://localhost:4000/
    The Playground GraphQl
    Aqui nesse exemplo: executaremos uma Query assim como definimos no tipo de requisição, e ele deverá trazer os dados estabelecidos pelo Resolver baseado no mapeamento de 1 por 1. Assim:
    It's done!
    Agora você acabou de fazer sua primeira chamada API utilizando o graphQL, simples não?

    25

    This website collects cookies to deliver better user experience

    GraphQl - Introdução