quinta-feira, 16 de julho de 2026 · Edição online
Pingobox
Pingobox

API REST Express: tutorial completo para criar sua primeira API

ResumoO tutorial API REST Express ensina a criar uma API completa, desde a instalação do Node.js até o deploy da aplicação. O guia aborda cada etapa do desenvolvimento, incluindo configuração de rotas, middlewares e boas práticas para evitar erros comuns. O conteúdo é direcionado a desenvolvedores iniciantes que desejam construir aplicações web modernas com Express.

Criar uma API REST com Express é o primeiro passo para construir aplicações web modernas. Este guia mostra cada etapa, da instalação do Node.js ao deploy, com dicas para evitar os erros mais comuns.

Lavínia Castro Lavínia Castro · Analista de cultura digital
· · 4 min de leitura
API REST Express: tutorial completo para criar sua primeira API
Foto: Imagem ilustrativa · Pingobox

Criar uma API REST com Express é o primeiro passo para construir aplicações web modernas. Este guia mostra cada etapa, da instalação do Node.js ao deploy, com dicas para evitar os erros mais comuns.

Criar uma API REST com Express é o passo inicial para construir o backend de aplicações web modernas. Com Node.js e Express, você expõe endpoints que permitem a comunicação entre cliente e servidor de forma padronizada. Este tutorial cobre cada etapa, da instalação ao teste, com dicas para evitar os erros mais comuns que travam iniciantes.

Pré-requisitos: Node.js instalado (versão 14 ou superior), um editor de código (VS Code, Sublime) e familiaridade básica com JavaScript.

Passo 1: Inicializar o projeto

Crie uma pasta para o projeto e, no terminal, execute npm init -y. O arquivo package.json gerado contém as configurações iniciais. Dica: edite a chave "main" para "index.js", muitos iniciantes esquecem e o Node procura por server.js.

Passo 2: Instalar o Express

No terminal, rode npm install express. Isso adiciona o Express e suas dependências ao node_modules. Erro comum: pular o npm init e instalar o Express direto, sem o package.json, o Node não reconhece o módulo.

Passo 3: Criar o servidor básico

Crie um arquivo index.js na raiz. Adicione o código:

const express = require('express'); const app = express(); const port = 3000;

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

Execute node index.js e veja a mensagem no terminal. Ressalva: se a porta 3000 estiver ocupada, troque para 3001 ou defina uma variável de ambiente PORT.

Passo 4: Configurar rotas REST

Adicione antes do app.listen:

app.get('/', (req, res) => { res.send('API REST funcionando!'); });

Para uma rota que retorna JSON (padrão REST), use res.json():

app.get('/api/usuarios', (req, res) => { res.json([{ id: 1, nome: 'João' }, { id: 2, nome: 'Maria' }]); });

Dica: sempre retorne JSON em APIs REST, nunca HTML. Isso garante que qualquer cliente (web, mobile, IoT) consuma os dados.

Passo 5: Habilitar parsing de requisições POST/PUT

Para receber dados JSON no corpo da requisição, adicione o middleware:

app.use(express.json());

Coloque essa linha antes das rotas. Erro comum: esquecer esse middleware, req.body fica undefined e a API quebra silenciosamente.

Passo 6: Criar rotas POST, PUT e DELETE

Exemplo de rota POST:

app.post('/api/usuarios', (req, res) => { const { nome } = req.body; res.status(201).json({ id: 3, nome }); });

O código 201 indica "criado com sucesso". Para PUT (atualizar) e DELETE (remover), use app.put() e app.delete(), retornando 200 ou 204.

Passo 7: Testar a API

Use o Postman, Insomnia ou curl. Exemplo com curl:

curl http://localhost:3000/api/usuarios curl -X POST -H "Content-Type: application/json" -d '{"nome":"Ana"}' http://localhost:3000/api/usuarios

Ressalva: se o servidor não responder, verifique se o terminal mostra Servidor rodando... e se a porta não está bloqueada por firewall local.

Checklist do que foi feito

  • [ ] Projeto inicializado com npm init
  • [ ] Express instalado como dependência
  • [ ] Servidor rodando na porta 3000
  • [ ] Rota GET que retorna JSON
  • [ ] Middleware express.json() configurado
  • [ ] Rotas POST, PUT e DELETE criadas
  • [ ] Testes realizados com Postman ou curl

Perguntas frequentes sobre API REST Express

Qual a diferença entre API REST e API RESTful?

REST é o conjunto de princípios (stateless, recursos identificados por URL, uso de verbos HTTP). RESTful é uma API que segue esses princípios. Na prática, os termos são usados como sinônimos, mas RESTful indica conformidade total.

Preciso usar banco de dados para criar uma API REST?

Não. Você pode começar com dados mockados (arrays ou objetos em memória), como fizemos neste tutorial. Para produção, integre com MongoDB, PostgreSQL ou outro banco.

Como lidar com erros em rotas Express?

Use middlewares de erro. Crie uma função que receba (err, req, res, next) e retorne res.status(500).json({ erro: err.message }). Coloque-a depois de todas as rotas.

O que é CORS e preciso configurar?

CORS (Cross-Origin Resource Sharing) controla quais domínios podem acessar sua API. Se o frontend estiver em outro domínio, instale npm install cors e use app.use(cors()).

Como organizar rotas em arquivos separados?

Crie uma pasta routes/, defina as rotas com express.Router() e importe no index.js com app.use('/api', router). Isso mantém o código modular.

Qual a diferença entre res.send() e res.json()?

res.send() envia qualquer tipo (string, buffer, objeto). res.json() converte automaticamente para JSON e define o header Content-Type: application/json. Prefira res.json() em APIs REST para consistência.

Compartilhar:
Lavínia Castro

Lavínia Castro

Analista de cultura digital

Analista de cultura digital.

Ver todos os artigos →

Leia também

9 ferramentas de versionamento de codigo alem do Git
Apps e Software

9 ferramentas de versionamento de codigo alem do Git

Nem todo projeto precisa de Git. Conheca 9 ferramentas de versionamento de codigo que oferecem fluxos alternativos, desde Mercurial ate sistemas centralizados como Perforce e Subversion.

16 de julho de 2026 · Gustavo Sequeira
Beneficios TypeScript: Por que usar em projetos grandes
Apps e Software

Beneficios TypeScript: Por que usar em projetos grandes

Em projetos grandes, os benefícios do TypeScript vão além da tipagem estática: ele impõe uma disciplina de código que reduz bugs em produção e facilita a navegação em bases de código com milhares de arquivos. Mas não é bala de prata.

16 de julho de 2026 · Bruno Tagliari
Rodoviários do Rio não chegam a acordo com patrões: greve pode afetar transporte
Apps e Software

Rodoviários do Rio não chegam a acordo com patrões: greve pode afetar transporte

Rodoviários do Rio não chegam a acordo com patrões após nova rodada de negociação. Sem consenso sobre reajuste salarial e benefícios, categoria pode paralisar atividades. Entenda os motivos do impasse e os próximos passos.

15 de julho de 2026 · Paula Andrenni

Gostou? Receba mais análises

Newsletter quinzenal · curadoria editorial · sem spam