Modelo Passo a Passo de Referência
Siga este roteiro estruturado para construir sua solução no Express.js do zero no VS Code.
Inicializar Projeto
Crie a pasta, rode npm init -y e instale express.
Configurar Express
Importe o Express e ative o middleware express.json().
Criar as Rotas
Extraia params, query e body para atender o tema.
Retornar Status Code
Responda com res.status().json() apropriado.
const express = require('express');
const app = express();
// OBRIGATÓRIO: Habilita o Express a ler JSON no corpo da requisição (req.body)
app.use(express.json());
// 1. EXEMPLO COM ROUTE PARAMS (req.params) - Identificador Único
app.get('/usuarios/:id', (req, res) => {
const { id } = req.params; // Extrai o ID da URL
// Simulação de busca: Se ID for maior que 100, recurso não existe
if (Number(id) > 100) {
return res.status(404).json({ erro: `Usuário com ID ${id} não foi encontrado.` });
}
res.status(200).json({ id, nome: "Carlos Eduardo", status: "Ativo" });
});
// 2. EXEMPLO COM QUERY PARAMS (req.query) - Filtro / Busca Dinâmica
app.get('/produtos', (req, res) => {
const { categoria, ordenacao } = req.query; // Extrai query params opcionais
res.status(200).json({
mensagem: "Listagem de produtos filtrada com sucesso",
filtrosAplicados: {
categoria: categoria || "Todas",
ordenacao: ordenacao || "padrao"
}
});
});
// 3. EXEMPLO COM BODY (req.body) - Cadastro / Envio de Dados JSON
app.post('/produtos', (req, res) => {
const { nome, preco, categoria } = req.body;
// Validação dos campos obrigatórios (Erro do Cliente -> 400)
if (!nome || !preco) {
return res.status(400).json({
erro: "Dados incompletos! É obrigatório informar 'nome' e 'preco'."
});
}
// Sucesso ao criar novo recurso -> 201 Created
res.status(201).json({
mensagem: "Produto cadastrado com sucesso!",
produtoCriado: { id: Math.floor(Math.random() * 1000), nome, preco, categoria }
});
});
const PORT = 3000;
app.listen(PORT, () => {
console.log(`🔥 Servidor Express rodando na porta ${PORT}`);
});
Simulador de Requisições Express
Teste o comportamento do Express.js antes de escrever seu próprio código. Veja como o servidor trata cada requisição.
Enviar Requisição
Exemplo com Route Param: /produtos/15 ou Query Param: /buscar?categoria=tech
Resposta do Servidor Express
Tarefas Individuais (32 Alunos)
Localize seu nome abaixo para visualizar o tema, rota atribuída, método e especificações da sua API.
Nenhum aluno ou tema encontrado com os filtros atuais.