API REST Express: guia passo a passo para criar
Criar uma API REST com Express é um processo que exige planejamento de rotas e tratamento de dados. Este guia mostra cada etapa, da configuração inicial à resposta JSON, com dicas para evitar erros comuns.
Criar uma API REST com Express é um processo que exige planejamento de rotas e tratamento de dados. Este guia mostra cada etapa, da configuração inicial à resposta JSON, com dicas para evitar erros comuns.
Criar uma API REST com Express é o primeiro passo para construir serviços web modulares. O objetivo é expor endpoints HTTP que recebem requisições e retornam respostas em JSON. Antes de começar, tenha Node.js instalado (v16 ou superior) e um editor de código. Este guia cobre a estrutura essencial, sem frameworks extras.
Passo 1: Inicializar o projeto e instalar o Express
Crie uma pasta para o projeto e execute npm init -y para gerar o package.json. Depois, instale o Express com npm install express. Isso adiciona a dependência principal para gerenciar rotas e middlewares. Dica: evite instalar pacotes desnecessários agora, mantenha o projeto enxuto para facilitar a manutenção futura.
Passo 2: Configurar o servidor básico
Crie um arquivo index.js e importe o Express com const express = require('express'). Inicialize o app com const app = express() e defina uma porta, como const port = 3000. Adicione app.use(express.json()) para que o servidor entenda requisições com corpo JSON. Erro comum: esquecer esse middleware faz com que req.body retorne undefined.
Passo 3: Definir as rotas da API REST
As rotas representam os recursos da API. Para um CRUD básico de usuários, crie:
app.get('/users', (req, res) => res.json([{ id: 1, nome: 'João' }]))app.post('/users', (req, res) => { /* lógica de criação */ res.status(201).json(req.body) })app.put('/users/:id'...)eapp.delete('/users/:id'...).
Use req.params para capturar variáveis na URL e req.query para parâmetros opcionais. Dica: organize as rotas em arquivos separados com express.Router() se o projeto crescer.
Passo 4: Iniciar o servidor e testar
Adicione app.listen(port, () => console.log('Servidor rodando na porta ' + port)) ao final do index.js. Execute node index.js no terminal. Teste os endpoints com curl ou Postman: envie uma requisição GET para http://localhost:3000/users e veja a resposta JSON. Erro comum: esquecer de tratar erros com middleware (err, req, res, next) => res.status(500).json({ erro: err.message }) faz o servidor travar em falhas.
Checklist rápido do que foi feito
- [ ] Projeto Node.js inicializado com
npm init -y - [ ] Express instalado e configurado
- [ ] Middleware
express.json()ativado - [ ] Rotas GET e POST definidas
- [ ] Servidor rodando e testado com resposta JSON
FAQ
Qual a diferença entre API REST e RESTful?
RESTful é a implementação prática dos princípios REST. Uma API REST segue o estilo arquitetural, enquanto RESTful indica que ela respeita as constraints como stateless e uso de verbos HTTP corretos.
Preciso de um banco de dados para criar uma API REST com Express?
Não. Uma API REST pode usar dados estáticos em memória ou arquivos JSON. Bancos como MongoDB ou PostgreSQL são adicionados depois para persistência real.
Como lidar com CORS no Express?
Instale o pacote cors com npm install cors e use app.use(cors()) antes das rotas. Isso permite requisições de origens diferentes durante o desenvolvimento.
O que fazer se o servidor não iniciar?
Verifique se a porta 3000 está livre e se não há erro de sintaxe no index.js. Use node --check index.js para validar o código antes de executar.
Como organizar rotas em projetos maiores?
Use express.Router() para criar módulos de rotas (ex.: routes/users.js) e importe no index.js com app.use('/users', userRouter). Isso mantém o código modular.
Testes automatizados são necessários?
Sim, para garantir que as rotas funcionem após alterações. Use frameworks como Jest com Supertest para simular requisições HTTP e validar respostas.
Edivar Sampaio Quinteiro
Analista de SEO e conteúdo orgânico
Otimiza site para busca há 10 anos; explica o que muda quando o Google vira IA.
Ver todos os artigos →