🚀 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?

  1. O usuário acabou de digitar o e-mail e a senha e clicou no botão “Fazer Login”.
  2. 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?

  1. 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)

  1. Faça o Commit: No GitHub Desktop, digite a mensagem (ex: Finaliza Capítulo 07 FS_Sherlock) e clique em Commit to main.
  2. 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:

  1. POST (Pois você está enviando dados confidenciais de formulário para o servidor processar).
  2. GET (Pois você está apenas lendo/buscando informações que já existem). Gabarito da Prática 2:
  3. O endpoint é /api/v1/personagens. É o caminho específico que direciona a requisição para a função correta no servidor!

Capitulo Anterior | Proximo Capitulo