
E aí, dev! Tô ligado que criar uma API REST parece coisa de outro mundo, mas é mais de boa do que parece! 😎 Quando eu comecei na programação, apanhei muito pra entender o que é um CRUD e como fazer uma API funcionar. Então para te ajudar hoje, vou te guiar passo a passo em como criar uma API REST do zero em 2025, usando Node.js e Express. Vamos fazer um sistema de tarefas (tipo um Todo List) com operações CRUD (Create, Read, Update, Delete). E o melhor: dá pra testar tudo online e hospedar de graça! Preparado? Pega um café, um notebook top (confira os melhores aqui), e bora codar!
O que é uma API REST e CRUD?
Uma API REST é como um garçom que leva pedidos (requisições) do cliente (front-end) pro cozinheiro (servidor) e traz a comida (dados) de volta. Ela usa o protocolo HTTP (GET, POST, PUT, DELETE) pra conversar. Já o CRUD é o coração da coisa:
- Create: Cria dados (ex.: adicionar uma tarefa).
- Read: Lê dados (ex.: listar tarefas).
- Update: Atualiza dados (ex.: editar uma tarefa).
- Delete: Deleta dados (ex.: remover uma tarefa).
Quer um exemplo? Pense num app de tarefas: a API deixa você criar, listar, editar e apagar tarefas. Simples, né? Vamos construir uma assim!
O que Você Vai Precisar
- Notebook ou PC: Um com 8GB RAM já dá conta, mas 16GB é melhor pra rodar Node.js e VS Code lisinho. Veja algumas opções aqui.
- Node.js: Vamos instalar localmente ou usar um site online.
- Conhecimento Básico: Um pouco de JavaScript ajuda, mas explico tudo!
- Hospedagem: Vamos subir a API no Render (grátis). Confira hospedagens grátis.
- Ferramenta pra Testar: Postman ou Insomnia (tem versão grátis).
Passo a Passo: Criando sua API REST com Node.js e Express
Vamos criar uma API de tarefas com endpoints CRUD. Siga o fluxo e, se quiser, testa tudo online no Replit.
Passo 1: Configurar o Ambiente
- Instale o Node.js: Baixe em nodejs.org (versão LTS). No Windows/Mac/Linux, é só seguir o wizard.
- Crie um Projeto: Abre o terminal (ou Replit) e roda:
mkdir todo-api cd todo-api npm init -y
- Instale o Express: É o framework que facilita a API. Roda:
npm install express
Passo 2: Criar o Servidor
Crie um arquivo index.js com este código:
const express = require('express');
const app = express();
app.use(express.json()); // Pra ler JSON nas requisições
app.get('/', (req, res) => {
res.send('Bem-vindo à API de Tarefas!');
});
app.listen(3000, () => {
console.log('API rodando na porta 3000!');
});
Roda com node index.js e acessa http://localhost:3000 no navegador. Tá vendo “Bem-vindo à API de Tarefas!”? Então tá funcionando!
Passo 3: Implementar o CRUD
Vamos criar endpoints pra gerenciar tarefas. Adiciona isso no index.js:
let tarefas = []; // Banco de dados fake (array)
// Create (POST)
app.post('/tarefas', (req, res) => {
const { titulo } = req.body;
if (!titulo) return res.status(400).json({ erro: 'Título é obrigatório!' });
const tarefa = { id: tarefas.length + 1, titulo, concluida: false };
tarefas.push(tarefa);
res.status(201).json(tarefa);
});
// Read (GET - todas)
app.get('/tarefas', (req, res) => {
res.json(tarefas);
});
// Read (GET - por ID)
app.get('/tarefas/:id', (req, res) => {
const tarefa = tarefas.find(t => t.id === parseInt(req.params.id));
if (!tarefa) return res.status(404).json({ erro: 'Tarefa não encontrada!' });
res.json(tarefa);
});
// Update (PUT)
app.put('/tarefas/:id', (req, res) => {
const tarefa = tarefas.find(t => t.id === parseInt(req.params.id));
if (!tarefa) return res.status(404).json({ erro: 'Tarefa não encontrada!' });
const { titulo, concluida } = req.body;
tarefa.titulo = titulo || tarefa.titulo;
tarefa.concluida = concluida !== undefined ? concluida : tarefa.concluida;
res.json(tarefa);
});
// Delete (DELETE)
app.delete('/tarefas/:id', (req, res) => {
const index = tarefas.findIndex(t => t.id === parseInt(req.params.id));
if (index === -1) return res.status(404).json({ erro: 'Tarefa não encontrada!' });
tarefas.splice(index, 1);
res.status(204).send();
});
Passo 4: Testar a API
Baixe o Postman (grátis) ou use o Insomnia. Teste os endpoints:
- POST http://localhost:3000/tarefas (body: {“titulo”: “Estudar Node.js”}) → Cria uma tarefa.
- GET http://localhost:3000/tarefas → Lista todas.
- GET http://localhost:3000/tarefas/1 → Pega uma tarefa.
- PUT http://localhost:3000/tarefas/1 (body: {“titulo”: “Estudar Express”, “concluida”: true}) → Atualiza.
- DELETE http://localhost:3000/tarefas/1 → Deleta.
Funcionou? Então bora pro deploy!
Passo 5: Hospedar a API no Render
- Crie uma Conta: Vá no Render (grátis).
- Suba pro GitHub: Crie um repositório, faça upload do index.js e package.json.
- Deploy no Render: Conecte o repositório, escolha “Node.js” e configure a porta 3000.
- Teste Online: O Render te dá uma URL (ex.: seu-app.onrender.com). Testa no Postman!
Quer outras opções de hospedagem? Veja nosso guia grátis.
Comparação de Ferramentas pra Criar e Testar APIs
Ferramenta | Uso | Grátis? | Indicado Para |
---|---|---|---|
Node.js/Express | Criar APIs | Sim | Back-End |
Postman | Testar APIs | Sim | Todos os Devs |
Insomnia | Testar APIs | Sim | Todos os Devs |
Render | Hospedar APIs | Sim (free tier) | Deploy |
Replit | Codar e Testar | Sim | Iniciantes |
Dicas pra Turbinar sua API
- Hospedagem: Render é grátis, mas Hostinger é top pra projetos grandes. Veja Hostinger.
- Testes Online: Use Replit pra codar sem instalar nada.
- Aprenda CRUD: Entenda o conceito a fundo. Leia nosso guia “O que é CRUD?”.
Próximos Passos
Criou sua API? Parabéns, dev! 🎉 Agora, tenta:
- Adicionar um banco de dados (ex.: MongoDB).
- Proteger a API com autenticação (ex.: JWT).
- Conectar a um front-end React (veja sites pra codar online).
Já criou uma API REST? Conta nos comentários como foi! E se curtiu o guia, clica nos links pra apoiar o Dev Por Aí. Isso ajuda a trazer mais dicas pra comunidade! 😎
Valeu, e bons códigos!