Se você está iniciando no mundo do desenvolvimento com JavaScript e quer criar sua primeira API usando NodeJS, está no lugar certo! Neste artigo, vamos explorar como construir uma API RESTful simples utilizando o framework Express. Vamos trabalhar com todos os verbos HTTP principais e, ao final, você terá uma compreensão sólida de como montar sua própria API. Vamos lá!
Pré-requisitos
Antes de começarmos, certifique-se de ter o NodeJS e o npm (Node Package Manager) instalados em sua máquina. Você pode baixar ambos do site oficial do Node.js.
Configurando o Projeto
- Inicie um novo projeto NodeJS
Abra seu terminal e crie um diretório para seu projeto. Em seguida, inicialize um novo projeto NodeJS:
mkdir minha-api
cd minha-api
npm init -y
Isso criará um arquivo package.json
com as configurações padrão.
- Instale o Express
Para criar nossa API, precisamos do Express, um framework web que simplifica o desenvolvimento em NodeJS.
npm install express
Criando Servidor com Express
Vamos começar criando um servidor básico.
- Crie o arquivo principal
No diretório raiz do projeto, crie um arquivo chamado index.js
.
- Configure o servidor básico
Abra o index.js
e adicione o seguinte código:
const express = require('express');
const app = express();
const port = 3000;
app.use(express.json());
app.listen(port, () => {
console.log(`Servidor rodando em http://localhost:${port}`);
});
Este código cria um servidor que escuta na porta 3000 e está pronto para receber requisições.
Trabalhando com Verbos HTTP
Agora que temos um servidor básico em execução, vamos adicionar rotas para cada um dos principais verbos HTTP: GET, POST, PUT e DELETE.
- Método GET
Vamos começar com uma rota que retorna uma lista de itens:
const items = [
{ id: 1, name: 'Item 1' },
{ id: 2, name: 'Item 2' },
];
app.get('/items', (req, res) => {
res.json(items);
});
Esta rota responderá com uma lista de itens quando acessarmos http://localhost:3000/items
.
- Método POST
Para adicionar um novo item à lista, usamos o verbo POST:
app.post('/items', (req, res) => {
const newItem = req.body;
newItem.id = items.length + 1;
items.push(newItem);
res.status(201).json(newItem);
});
Com esta rota, você pode enviar um novo item no corpo da requisição e ele será adicionado à lista.
- Método PUT
Para atualizar um item existente, utilizamos o verbo PUT:
app.put('/items/:id', (req, res) => {
const id = parseInt(req.params.id, 10);
const itemIndex = items.findIndex(item => item.id === id);
if (itemIndex !== -1) {
const updatedItem = { id, ...req.body };
items[itemIndex] = updatedItem;
res.json(updatedItem);
} else {
res.status(404).send('Item não encontrado');
}
});
Nesta rota, podemos atualizar um item existente pelo seu ID.
- Método DELETE
Para remover um item, usamos o verbo DELETE:
app.delete('/items/:id', (req, res) => {
const id = parseInt(req.params.id, 10);
const itemIndex = items.findIndex(item => item.id === id);
if (itemIndex !== -1) {
items.splice(itemIndex, 1);
res.status(204).send();
} else {
res.status(404).send('Item não encontrado');
}
});
Esta rota permitirá que você exclua um item pelo ID.
Conclusão
E pronto! Você criou uma API básica em NodeJS utilizando Express que responde aos verbos HTTP GET, POST, PUT e DELETE. Este exemplo é um ponto de partida excelente para entender como APIs funcionam e como você pode expandi-las para casos mais complexos.
Para mais informações sobre o Express, você pode consultar a documentação oficial. Além disso, recomendo a leitura do livro "Node.js Design Patterns" de Mario Casciaro e Luciano Mammino para aprofundar seus conhecimentos.
Boa codificação!
Top comments (0)