Introdução: REST API em JavaScript — rápido e simples
O desenvolvimento web moderno é impensável sem APIs. REST (Representational State Transfer) é o estilo arquitetônico mais popular para criar serviços web. Se você quer criar rapidamente um backend para sua aplicação ou aprender os fundamentos do desenvolvimento server-side, Node.js e Express são a escolha ideal.
Neste artigo, em 30 minutos escreveremos uma REST API completa em JavaScript. Você aprenderá como configurar o servidor, organizar as rotas (routing), implementar operações CRUD (Create, Read, Update, Delete) e testar a API com Postman. Nada de teoria desnecessária — apenas prática. Vamos nessa!
1. Preparação do ambiente e instalação de dependências
Antes de escrever código, certifique-se de que o Node.js (versão 14 ou superior) está instalado no seu computador. Você pode verificar isso com o comando:
node -v
npm -v
Crie uma nova pasta para o projeto e inicialize o package.json:
mkdir my-rest-api
cd my-rest-api
npm init -y
Agora vamos instalar o Express — um framework minimalista e flexível para Node.js. Também instalaremos o body-parser para processar requisições JSON (nas versões modernas do Express ele já vem embutido, mas para fins de clareza vamos adicioná-lo explicitamente):
npm install express body-parser
A estrutura do projeto será simples:
app.js— arquivo principal do servidorroutes/— pasta com as rotasdata/— pasta com dados de teste (simulação de banco de dados)
2. Criando um servidor básico com Express
Crie o arquivo app.js e escreva o seguinte código:
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
const PORT = 3000;
// Middleware para processar JSON
app.use(bodyParser.json());
// Rota de teste simples
app.get('/', (req, res) => {
res.send('REST API funcionando!');
});
// Inicialização do servidor
app.listen(PORT, () => {
console.log(`Servidor rodando em http://localhost:${PORT}`);
});
Execute o servidor com o comando node app.js e abra http://localhost:3000 no navegador. Você deverá ver a mensagem "REST API funcionando!". Parabéns, você acabou de criar seu primeiro servidor web com Node.js!
Observe: o body-parser converte os dados recebidos para o formato JSON, o que é necessário para requisições POST e PUT.
3. Organização das rotas e operações CRUD
Agora vamos adicionar dados reais. Crie a pasta data e dentro dela o arquivo items.js com um array de teste:
const items = [
{ id: 1, name: 'Estudar Node.js', completed: false },
{ id: 2, name: 'Escrever API', completed: true },
{ id: 3, name: 'Publicar artigo', completed: false }
];
module.exports = items;
Crie a pasta routes e o arquivo items.js dentro dela. Aqui descreveremos todas as rotas para trabalhar com as tarefas (to-do list):
const express = require('express');
const router = express.Router();
let items = require('../data/items');
// GET /api/items — obter todos os itens
router.get('/', (req, res) => {
res.json(items);
});
// GET /api/items/:id — obter um item pelo ID
router.get('/:id', (req, res) => {
const id = parseInt(req.params.id);
const item = items.find(i => i.id === id);
if (!item) return res.status(404).json({ message: 'Item não encontrado' });
res.json(item);
});
// POST /api/items — criar um novo item
router.post('/', (req, res) => {
const newItem = {
id: items.length + 1,
name: req.body.name,
completed: req.body.completed || false
};
items.push(newItem);
res.status(201).json(newItem);
});
// PUT /api/items/:id — atualizar um item
router.put('/:i
```