🧪 Como Criar uma API REST com Node.js e Express – Guia Prático Para Iniciantes
🚀 Introdução
Se você está começando com Node.js e quer entrar de vez no mundo do desenvolvimento backend, precisa dominar um dos pilares do mercado: API REST.
Neste post você vai aprender, com um exemplo prático, como criar sua primeira API REST usando Node.js + Express – uma stack amplamente usada em projetos freelance, startups e empresas grandes.
🧱 O que vamos construir?
Uma API simples de tarefas (To-do) com as seguintes rotas:
GET /tasks
→ listar tarefasPOST /tasks
→ criar nova tarefaPUT /tasks/:id
→ atualizar tarefaDELETE /tasks/:id
→ deletar tarefa
⚙️ Requisitos
- Node.js instalado
- Editor de código (VS Code recomendado)
- Postman (ou Insomnia) para testar as requisições
📁 Estrutura do Projeto
projeto-api/
├── index.js
└── data/
└── tasks.json
🛠️ Passo a Passo
1. Iniciando o projeto
mkdir projeto-api
cd projeto-api
npm init -y
npm install express
2. Criando o servidor
// index.js
const express = require("express");
const fs = require("fs");
const app = express();
const PORT = 3000;
app.use(express.json());
let tasks = [];
app.get("/tasks", (req, res) => {
res.json(tasks);
});
app.post("/tasks", (req, res) => {
const task = { id: Date.now(), ...req.body };
tasks.push(task);
res.status(201).json(task);
});
app.put("/tasks/:id", (req, res) => {
const { id } = req.params;
const index = tasks.findIndex((t) => t.id == id);
if (index === -1) return res.status(404).json({ erro: "Tarefa não encontrada" });
tasks[index] = { ...tasks[index], ...req.body };
res.json(tasks[index]);
});
app.delete("/tasks/:id", (req, res) => {
tasks = tasks.filter((t) => t.id != req.params.id);
res.status(204).send();
});
app.listen(PORT, () => console.log(`Servidor rodando em http://localhost:${PORT}`));
📌 Testando com Postman
- Inicie o servidor com
node index.js
- Use o Postman para testar as rotas com dados JSON
- Exemplo de JSON para POST:
{
"title": "Estudar Node.js",
"done": false
}
✅ Conclusão
Você acabou de criar uma API REST completa com Node.js e Express!
Esse tipo de projeto é ideal para:
- 📄 Portfólio de desenvolvedor backend
- 👨💻 Freelance simples
- 🧪 Testar integrações com frontend (React, Vue, etc.)
No próximo post, vamos conectar essa API a um banco de dados real (MySQL) usando Sequelize, para deixá-la mais profissional.