O Node.js, em conjunto com o framework Express, oferece uma poderosa combinação para o desenvolvimento rápido de APIs RESTful. Neste guia, vamos explorar como criar uma API básica utilizando essas tecnologias.
Passo 1: Configurando o Ambiente de Desenvolvimento
Instale o Node.js e o npm:
Certifique-se de ter o Node.js e o npm (Node Package Manager) instalados. Você pode baixá-los em nodejs.org.
Passo 2: Inicializando um Projeto Node.js
Crie um diretório para o projeto:
mkdir minha-api
cd minha-api
Inicialize o projeto Node.js:
npm init -y
Passo 3: Instalando o Express
Instale o Express:
npm install express
Passo 4: Criando a Estrutura Básica da API
Crie um arquivo index.js:
const express = require('express');
const app = express();
const PORT = 3000;
app.use(express.json());
app.get('/', (req, res) => {
res.send('Bem-vindo à API!');
});
app.listen(PORT, () => {
console.log(`Servidor rodando em http://localhost:${PORT}`);
});
Passo 5: Adicionando Rotas e Endpoints
Adicione uma rota para listar recursos:
const livros = [
{ id: 1, titulo: 'Aprendendo Node.js', autor: 'John Doe' },
{ id: 2, titulo: 'Express para Iniciantes', autor: 'Jane Doe' },
];
app.get('/livros', (req, res) => {
res.json(livros);
});
Adicione uma rota para obter um recurso específico:
app.get('/livros/:id', (req, res) => {
const livro = livros.find((livro) => livro.id === parseInt(req.params.id));
if (!livro) return res.status(404).send('Livro não encontrado');
res.json(livro);
});
Passo 6: Adicionando Rotas de Criação e Atualização de Recursos
Adicione uma rota para criar um novo recurso
app.post('/livros', (req, res) => {
const novoLivro = {
id: livros.length + 1,
titulo: req.body.titulo,
autor: req.body.autor,
};
livros.push(novoLivro);
res.json(novoLivro);
});
Adicione uma rota para atualizar um recurso existente:
app.put('/livros/:id', (req, res) => {
const livro = livros.find((livro) => livro.id === parseInt(req.params.id));
if (!livro) return res.status(404).send('Livro não encontrado');
livro.titulo = req.body.titulo;
livro.autor = req.body.autor;
res.json(livro);
});
Passo 7: Adicionando uma Rota para Excluir Recursos
Adicione uma rota para excluir um recurso:
app.delete('/livros/:id', (req, res) => {
const livroIndex = livros.findIndex((livro) => livro.id === parseInt(req.params.id));
if (livroIndex === -1) return res.status(404).send('Livro não encontrado');
const livroRemovido = livros.splice(livroIndex, 1);
res.json(livroRemovido);
});
Passo 8: Rodando a Aplicação
Inicie o servidor:
node index.js
Teste as rotas usando um cliente HTTP ou ferramenta como o Postman.
Conclusão:
Com este guia, você criou uma API RESTful básica usando Node.js e Express. Lembre-se de que este é um exemplo simples, e em ambientes de produção, você deve considerar questões de segurança, manipulação de erros, autenticação e autorização. O Node.js e o Express oferecem uma base sólida para construir aplicações web eficientes e escaláveis.