Top 10 Cursos de Programação para 2025

Descubra os melhores cursos de programação para acelerar sua carreira e aprender do jeito certo!

Home > Blog > Programação
Programação

Como Criar uma API com GraphQL: Guia Completo Iniciantes

Atualizado em: 25 de maio de 2025

teclado com o texto 'API' no lugar da tecla 'enter'

Como Criar uma API com GraphQL: Guia Completo para Iniciantes

Criar uma API pode parecer algo complicado. Mas com GraphQL, esse processo fica mais claro e flexível. Neste artigo, vamos explicar como criar uma API com GraphQL de maneira simples e passo a passo. Mesmo que você nunca tenha criado uma API antes, este guia foi feito para você.


O que é uma API?

Antes de tudo, vamos entender o que é uma API.

API significa Application Programming Interface (Interface de Programação de Aplicações). É um conjunto de regras que permite que programas diferentes se comuniquem.

Por exemplo:

  • Um aplicativo de clima usa uma API para buscar os dados do tempo.
  • Um site de loja virtual usa uma API para mostrar produtos, preços e fazer pedidos.

APIs são como “garçons” digitais. Você faz um pedido (requisição) e ela te traz o que você quer (resposta).


Diferença entre REST e GraphQL

Antes de usar GraphQL, é importante entender a diferença entre os dois principais estilos de API: REST e GraphQL.

CaracterísticaRESTGraphQL
Tipo de requisiçãoVários endpoints (URLs)Um único endpoint
Retorno de dadosFixos por rotaPersonalizáveis por requisição
Eficiência em dadosPode trazer dados demaisTraz só o que você pedir
DocumentaçãoSeparada ou com SwaggerIntegrada automaticamente

Com GraphQL, você tem mais controle sobre os dados. Isso ajuda a evitar excesso ou falta de informações.


O que é o GraphQL?

GraphQL é uma linguagem de consulta para APIs. Ela foi criada pelo Facebook em 2012 e liberada em 2015.

Com ela, você faz uma única requisição e recebe exatamente os dados que precisa. Nada mais, nada menos.

Por exemplo, se você quer apenas o nome de um usuário, você pede só isso. Em REST, você poderia acabar recebendo também o e-mail, a idade e outros dados.


Vantagens do GraphQL

Algumas das principais vantagens são:

  • Requisições otimizadas: Traz apenas os dados solicitados
  • Endpoint único: Menos complexidade no backend
  • Alto desempenho: Menos dados trafegando na rede
  • Facilidade para front-end: O cliente decide o que quer ver
  • Ferramentas robustas: Como o GraphiQL e Apollo

Ferramentas que vamos usar

Para criar nossa API com GraphQL, vamos usar:

  • Node.js: ambiente de execução JavaScript no backend
  • Express: framework para servidor HTTP
  • GraphQL: biblioteca principal da linguagem
  • Apollo Server: biblioteca que facilita a criação da API

Como criar uma API com GraphQL: passo a passo

1. Instale o Node.js

Acesse o site oficial:
https://nodejs.org/

Baixe e instale a versão recomendada.

Para confirmar que deu certo:

Bash
node -v
npm -v

2. Crie uma pasta para seu projeto

Bash
mkdir minha-api-graphql
cd minha-api-graphql

3. Inicie o projeto

Bash
npm init -y

4. Instale as dependências

Bash
npm install express apollo-server-express graphql

5. Crie o arquivo principal

Crie um arquivo chamado index.js:

JavaScript
const express = require('express');
const { ApolloServer, gql } = require('apollo-server-express');

const typeDefs = gql`
  type Query {
    saudacao: String
  }
`;

const resolvers = {
  Query: {
    saudacao: () => 'Olá, mundo GraphQL!'
  }
};

async function startServer() {
  const app = express();
  const server = new ApolloServer({ typeDefs, resolvers });
  await server.start();
  server.applyMiddleware({ app });

  app.listen(4000, () => {
    console.log('Servidor rodando em http://localhost:4000/graphql');
  });
}

startServer();

6. Execute a API

Bash
node index.js

Abra seu navegador e acesse:
http://localhost:4000/graphql

Você verá a interface para testar consultas.

Experimente digitar:

GraphQL
{
  saudacao
}

Você receberá:

JSON
{
  "data": {
    "saudacao": "Olá, mundo GraphQL!"
  }
}

Entendendo os componentes do GraphQL

Schema

É o “mapa” da sua API. Define os tipos de dados e o que pode ser consultado.

TypeDefs

Definem os tipos. Por exemplo:

JavaScript
type Usuario {
  id: ID
  nome: String
  email: String
}

Resolvers

São as funções que dizem como obter os dados.

Query

Permite buscar dados.

Mutation

Permite alterar dados: criar, editar ou deletar.

Exemplo:

JavaScript
type Mutation {
  criarUsuario(nome: String!, email: String!): Usuario
}

Exemplo prático: lista de usuários

Vamos melhorar nosso código com uma lista de usuários.

Atualize os typeDefs:

JavaScript
const typeDefs = gql`
  type Usuario {
    id: ID
    nome: String
    email: String
  }

  type Query {
    usuarios: [Usuario]
  }
`;

Adicione uma lista falsa de dados:

JavaScript
const usuarios = [
  { id: 1, nome: 'Ana', email: 'ana@email.com' },
  { id: 2, nome: 'Carlos', email: 'carlos@email.com' },
];

Atualize os resolvers:

JavaScript
const resolvers = {
  Query: {
    usuarios: () => usuarios
  }
};

Teste no navegador:

GraphQL
{
  usuarios {
    nome
    email
  }
}

Resultado:

JSON
{
  "data": {
    "usuarios": [
      {
        "nome": "Ana",
        "email": "ana@email.com"
      },
      {
        "nome": "Carlos",
        "email": "carlos@email.com"
      }
    ]
  }
}

Como criar uma Mutation (inserir dados)

Vamos adicionar uma forma de criar um novo usuário.

Atualize os typeDefs:

JavaScript
const typeDefs = gql`
  type Usuario {
    id: ID
    nome: String
    email: String
  }

  type Query {
    usuarios: [Usuario]
  }

  type Mutation {
    criarUsuario(nome: String!, email: String!): Usuario
  }
`;

Atualize os resolvers:

JavaScript
const resolvers = {
  Query: {
    usuarios: () => usuarios
  },
  Mutation: {
    criarUsuario: (_, { nome, email }) => {
      const novoUsuario = {
        id: usuarios.length + 1,
        nome,
        email
      };
      usuarios.push(novoUsuario);
      return novoUsuario;
    }
  }
};

Teste a mutation:

JavaScript
mutation {
  criarUsuario(nome: "Joana", email: "joana@email.com") {
    id
    nome
  }
}

Recursos gratuitos para aprender mais


Conclusão

Agora você já sabe como criar uma API com GraphQL! Vimos os conceitos básicos, fizemos uma API simples e aprendemos a consultar e criar dados.

GraphQL é uma tecnologia poderosa e flexível. Mesmo que você esteja começando agora, ela é uma ótima escolha para aprender e usar em projetos modernos.

Lembre-se: a prática é a melhor forma de aprender. Teste, explore e construa suas próprias APIs com criatividade!

Ranking dos 10 Melhores Cursos de Programação de 2025

Descubra os melhores cursos de programação. Aprenda a escolher o curso ideal para iniciar ou avançar na carreira de desenvolvedor

Os comentários estão desativados.

POSTS RELACIONADOS

Ver todos

Seta para a direita