Publicado
- 4 min read
Criando APIs Com NodeJS: Um Guia Prático Para Desenvolvedores Intermediários

Introdução
A criação de APIs (Application Programming Interface) é uma habilidade essencial para desenvolvedores backend. Elas permitem que diferentes sistemas se comuniquem entre si e são fundamentais em arquiteturas modernas, como microserviços. NodeJS, uma plataforma construída sobre o motor V8 do Chrome, permite que desenvolvedores criem aplicações escaláveis e eficientes. Neste post, vamos explorar os passos para criar uma API simples utilizando NodeJS e Express, uma das bibliotecas mais populares para esse propósito.
Pré-requisitos
Antes de começar, é importante que você tenha um conhecimento intermediário de JavaScript e esteja familiarizado com o ambiente NodeJS. Além disso, vamos usar o Express, portanto, é fundamental que você tenha o NodeJS instalado em sua máquina. Caso ainda não tenha, você pode baixar aqui.
Principais Conceitos
O que é uma API?
Uma API é uma interface que permite a comunicação entre diferentes serviços. As APIs mais comuns utilizam o protocolo HTTP e permitem operações com os métodos GET, POST, PUT e DELETE.
O que é o NodeJS?
NodeJS é um ambiente de execução de JavaScript no lado do servidor. Sua arquitetura baseada em eventos e I/O não bloqueante o torna ideal para aplicações que requerem escalabilidade, como APIs.
O que é o Express?
Express é um framework para NodeJS que simplifica o desenvolvimento de aplicações web e APIs. Ele oferece recursos robustos para manipulação de rotas, gerenciamento de requisições e integração com middleware.
Exemplo de Código
Vamos montar uma API simples para gerenciar uma lista de tarefas (TODO).
Passo 1: Configuração do Projeto
- Crie uma nova pasta para o projeto e navegue até ela:
mkdir todo-api
cd todo-api
- Inicialize o projeto e instale o Express:
npm init -y
npm install express
Passo 2: Criando o Servidor
Crie um arquivo chamado index.js
e adicione o seguinte código:
const express = require('express')
const app = express()
const PORT = 3000
// Middleware para converter o corpo da requisição em JSON
app.use(express.json())
// Lista de tarefas
let todos = []
// Rotas
app.get('/todos', (req, res) => {
res.json(todos)
})
app.post('/todos', (req, res) => {
const { task } = req.body
const newTodo = { id: todos.length + 1, task }
todos.push(newTodo)
res.status(201).json(newTodo)
})
// Inicia o servidor
app.listen(PORT, () => {
console.log(`Servidor rodando em http://localhost:${PORT}`)
})
Passo 3: Testando a API
Para testar a API, você pode utilizar ferramentas como o Postman ou o Insomnia. Ao iniciar o servidor com node index.js
, você poderá fazer requisições para http://localhost:3000/todos
.
Mini-Projeto Prático
Considere expandir este projeto permitindo a edição e exclusão de tarefas. Adicione as seguintes rotas:
app.put('/todos/:id', (req, res) => {
const { id } = req.params
const { task } = req.body
const todo = todos.find((t) => t.id == id)
if (todo) {
todo.task = task
res.json(todo)
} else {
res.status(404).send('Tarefa não encontrada')
}
})
app.delete('/todos/:id', (req, res) => {
const { id } = req.params
todos = todos.filter((t) => t.id != id)
res.status(204).send()
})
Padrões de Projeto Aconselháveis
- Organização de pastas: Separe as rotas, controladores e modelos para manter o código limpo e modular.
- Middleware: Utilize middlewares para lidar com autenticação e validação de dados.
- Tratamento de erros: Centralize o tratamento de erros para simplificar a manutenção.
Próximos Passos para Aprofundamento
- Persistência de dados: Tente integrar um banco de dados, como MongoDB ou PostgreSQL, ao seu projeto.
- Documentação de API: Utilize ferramentas como Swagger para documentar sua API.
- Segurança: Aprenda sobre autenticação com JWT e práticas recomendadas de segurança.
Possíveis Erros e Como Solucionar
- Erro de porta já em uso: Certifique-se de que não há outro aplicativo utilizando a mesma porta. Use
lsof -i :3000
no terminal para verificar. - Erro ao enviar JSON: Verifique se você está utilizando o cabeçalho
Content-Type: application/json
nas suas requisições.
Materiais de Apoio- Documentação do Express
Com este guia, você já pode começar a criar suas próprias APIs usando NodeJS e Express! Sinta-se à vontade para compartilhar suas dúvidas e experiências sobre o assunto. Boa codificação!”