Seu carrinho está vazio no momento!

Introdução (3 min)
Imagine um garçom em um restaurante. Para atender seu pedido, ele precisa entender o que você deseja. O cardápio é como a documentação da API, mas o pedido em si, com suas personalizações, é o request body. Em APIs, o request body carrega os dados enviados pelo cliente para o servidor, como informações de um novo usuário ou a atualização de um produto.
Dominar o processamento do request body é vital para construir APIs robustas e modernas. Nesta aula prática, você aprenderá a usar express.json() e express.urlencoded() para extrair informações dos requests e utilizá-las em sua aplicação Node.js/Express, seguindo as melhores práticas da indústria.
Conceito Fundamental (7 min)
O request body é a porção da requisição HTTP que contém dados enviados pelo cliente ao servidor. Ele é comumente utilizado em métodos POST, PUT e PATCH. Para acessar esses dados em uma aplicação Express, precisamos de middlewares específicos: express.json() para dados em formato JSON e express.urlencoded() para dados codificados como formulário HTML (URL-encoded).
Em cenários reais, express.json() é essencial para lidar com dados estruturados enviados por aplicativos mobile, front-ends com JavaScript, e outras APIs. Já express.urlencoded() é relevante para receber dados de formulários HTML tradicionais.
A integração com outras tecnologias, como bancos de dados, ocorre após a leitura dos dados do request body. Uma vantagem desses middlewares é a simplificação do processo de parsing. No entanto, é fundamental implementar validação de dados para garantir a segurança e integridade da sua aplicação.
Implementação Prática (10 min)
const express = require('express');
const app = express();
const port = 3000; // Porta padrão para o HostGator Plano M
// Middlewares para parsing do request body
app.use(express.json());
app.use(express.urlencoded({ extended: true })); // Suporta objetos aninhados
app.post('/usuario', (req, res) => {
try {
// Validação básica dos dados de entrada
if (!req.body.nome || !req.body.email) {
return res.status(400).json({ erro: 'Nome e email são obrigatórios' });
}
const novoUsuario = {
nome: req.body.nome,
email: req.body.email
};
// Simulação de salvamento em banco de dados (substitua pela lógica real)
console.log('Novo usuário criado:', novoUsuario);
res.status(201).json({ mensagem: 'Usuário criado com sucesso', usuario: novoUsuario });
} catch (error) {
console.error('Erro ao criar usuário:', error); // Logging profissional
res.status(500).json({ erro: 'Erro interno do servidor' });
}
});
app.listen(port, () => {
console.log(Servidor rodando em http://localhost:${port});
});
Instalação das dependências (apenas na primeira vez)
📚 Informações da Aula
Curso: API Completo - Node.js & Express
Tempo estimado: 25 minutos
Pré-requisitos: JavaScript básico
npm install express
Executar a aplicação
node index.js
Exercício Hands-On (5 min)
Crie uma rota /produto que aceite requisições POST com os campos nome e preco no request body. Valide se ambos os campos foram enviados e, em caso positivo, registre as informações no console (simulando o armazenamento em um banco de dados). Retorne uma resposta com status 201 e uma mensagem de sucesso. Em caso de erro de validação, retorne status 400 e uma mensagem informativa.
Solução:
app.post('/produto', (req, res) => {
// Implemente a lógica aqui, seguindo o enunciado.
// Valide nome e preco
// Log no console simulando banco de dados
// Retorne 201 ou 400 conforme o resultado.
});
Para testar, utilize uma ferramenta como Postman ou Insomnia para enviar uma requisição POST para /produto com os dados no corpo da requisição em formato JSON. Verifique o console do seu servidor para confirmar o registro dos dados e a resposta da API para validar o status code e a mensagem.
Próximos passos: explore a documentação oficial do Express.js para se aprofundar nos middlewares de body parsing e em outras funcionalidades essenciais para o desenvolvimento de APIs robustas. Considere também a implementação de bibliotecas de validação de dados mais avançadas, como o Joi ou o Yup.
🚀 Pronto para a próxima aula?
Continue sua jornada no desenvolvimento de APIs e domine Node.js & Express!