🚀 Capítulo 07: Elementar, meu caro Watson (Tema: Sherlock Holmes)
NOTE
Este capítulo utiliza a temática de Sherlock Holmes para explicar o framework Express e as Rotas de uma API. Receba as pistas e direcione o caso para a solução correta!
1. 🎯 Objetivo da Aula
Compreender o que é o framework Express para Node.js, o conceito de Rotas (Endpoints) em uma API e aprender os métodos HTTP básicos (GET e POST).
2. 🏢 O Cenário Prático (Seu Desafio)
O detetive mais famoso do mundo, Sherlock Holmes, é mestre em resolver mistérios usando a pura lógica e a dedução. Quando alguém bate à porta da sua casa na Baker Street pedindo ajuda, ele escuta atentamente o pedido (a requisição), analisa as pistas e dá uma resposta certeira. Ele sabe exatamente para qual gaveta de arquivos ou lugar da cidade ir para buscar a resposta que o cliente precisa!
No nosso Backend (o servidor), nós precisamos de alguém tão organizado quanto o Sherlock Holmes para escutar as milhares de requisições que vêm da internet e saber para onde direcioná-las!
- Para fazer isso de forma profissional, nós usamos um framework chamado Express.
- Ele nos ajuda a criar as Rotas da nossa API. Se o frontend pedir
/produtos, o Express sabe que deve buscar os produtos. Se pedir/usuarios, ele busca os usuários! Seu desafio é ser o detetive das rotas!
🧠 Fundamentos: A Teoria Traduzida
🚂 1. O que é o Express?
O Node.js puro dá muito trabalho para criar rotas complexas. O Express é uma biblioteca (framework) que colocamos por cima do Node para facilitar a criação de servidores web e APIs de forma limpa e rápida.
📍 2. O que são Rotas (Endpoints)?
Uma rota é o “caminho” que vem depois do domínio do site na URL. É ela quem diz qual ação o servidor deve executar.
site.com/listar-produtos→ Roda a função de buscar produtos.site.com/criar-conta→ Roda a função de salvar um novo usuário.
🚦 3. Os Métodos HTTP Principais:
Para o detetive saber exatamente o que o cliente quer, a requisição vem com um “carimbo” chamado Método HTTP:
- GET (Buscar): O frontend usa quando quer apenas ler ou buscar informações do servidor sem alterar nada. (Ex: Ver a lista de mensagens).
- POST (Enviar/Criar): O frontend usa quando quer enviar dados novos para o servidor salvar ou processar. (Ex: Enviar o formulário de cadastro com nome e senha).
4. 📖 Exemplo Guiado: Criando Rotas com Express
Veja como é simples criar rotas organizadas usando o Express:
const express = require('express');
const app = express();
// Rota 1: Usando o método GET para buscar uma mensagem
app.get('/caso', (req, res) => {
res.send("Pistas analisadas! O culpado é o mordomo.");
});
// Rota 2: Usando o método POST para receber dados novos
app.post('/novo-caso', (req, res) => {
res.send("Novo mistério registrado com sucesso no arquivo!");
});
app.listen(3000, () => console.log("Detetive online na porta 3000!"));5. 🛠️ Prática Obrigatória 1: Escolhendo o Método
Qual método HTTP (GET ou POST) você deve programar no seu servidor Express para os seguintes casos?
- O usuário acabou de digitar o e-mail e a senha e clicou no botão “Fazer Login”.
- O usuário abriu a página inicial do aplicativo e quer ver a lista de notícias do dia.
6. 🛠️ Prática Obrigatória 2: O que é o Endpoint?
- Se a URL completa da sua API é
http://localhost:3000/api/v1/personagens, qual parte dessa URL é considerada o Endpoint (a rota)?
7. 📤 Instruções de Entrega (GitHub Desktop + Microsoft Teams)
- Faça o Commit: No GitHub Desktop, digite a mensagem (ex:
Finaliza Capítulo 07 FS_Sherlock) e clique em Commit to main. - Envie para a Nuvem (Push): Clique em Push origin.
8. 📂 Estrutura de Pastas
proj_aplicacoes_full_stack/
├── capitulos/
│ ├── capitulo_07_sherlock.md
│ └── codigos/
│ └── cap07/
│ └── rotas_express.js💡 Checkpoint de Lógica
Os parâmetros req e res nas funções do Express significam Request (a requisição que está chegando com os dados do usuário) e Response (a resposta que o seu servidor vai enviar de volta para o usuário)!
10. 🔥 Desafio de Fixação
Pesquise outros dois métodos HTTP muito usados em APIs: o PUT e o DELETE. Para que eles servem?
🔑 Gabarito de Código/Fórmulas
Gabarito da Prática 1:
- POST (Pois você está enviando dados confidenciais de formulário para o servidor processar).
- GET (Pois você está apenas lendo/buscando informações que já existem). Gabarito da Prática 2:
- O endpoint é
/api/v1/personagens. É o caminho específico que direciona a requisição para a função correta no servidor!