🚀 Capítulo 18: Testes de API com Postman (Tema: Stranger Things)
NOTE
Este capítulo utiliza a temática de Stranger Things para explicar os testes. Para falar com o Mundo Invertido, precisamos de ferramentas especiais, como as luzes de Natal!
1. 🎯 Objetivo da Aula
Aprender a utilizar ferramentas de cliente HTTP, como o Postman ou Insomnia, para testar as rotas da API sem a necessidade de um Frontend pronto.
2. 🏢 O Cenário Prático (Seu Desafio)
Will Byers está preso no Mundo Invertido (o Backend). A Joyce (o cliente) precisa enviar mensagens para ele e ver as respostas. Como o telefone normal não funciona entre as dimensões, ela usa as luzes de Natal para enviar sinais.
No nosso dia a dia, o Backend fica pronto antes do Frontend. Para testar se as rotas estão funcionando, não podemos usar o navegador para tudo (o navegador só faz GET facilmente). Precisamos das nossas “luzes de Natal”: o Postman!
3. 🧠 Fundamentos: A Teoria Traduzida
O Postman (e similares como o Insomnia) é uma ferramenta que permite simular o comportamento de um Frontend. Com ele, você pode enviar qualquer tipo de requisição HTTP para qualquer servidor.
💡 Por que não usar o Navegador?
Se você digitar localhost:3000/herois na barra de endereços do Chrome, ele vai fazer uma requisição GET e mostrar os dados. Mas e se você quiser testar um POST para cadastrar um herói? O navegador não tem um botão para isso por padrão. O Postman tem!
🕹️ O que fazemos no Postman:
- Escolhemos o Verbo:
GET,POST,PUT,DELETE. - Digitamos a URL:
http://localhost:3000/herois. - Preenchemos o Body (se necessário): Em formato JSON.
- Enviamos (Send): E vemos a resposta do servidor em tempo real.
4. 📖 Exemplo Guiado: Enviando um POST
Para cadastrar um novo herói no sistema da SHIELD (do capítulo 10) usando o Postman:
- Mude o método para
POST. - Digite a URL:
http://localhost:3000/herois. - Vá na aba Body, selecione raw e mude o formato para JSON.
- Digite o JSON:
{ "id": 3, "nome": "Hulk", "poder": "Força Bruta" } - Clique em Send. O servidor deve responder com status
201 Created.
5. 🛠️ Prática Obrigatória 1: Roteiro de Testes
Crie um roteiro de testes para validar se a rota de deletar (DELETE /herois/:id) está funcionando no Postman:
- Qual método você vai escolher no Postman?
- Como vai ficar a URL para deletar o herói com ID 2?
- Você precisa preencher o Body nesse caso?
6. 🛠️ Prática Obrigatória 2: Verificando o Status
No Postman, além de ver os dados que o servidor retornou, onde fica a informação do Código de Status (ex: 200, 404)? Por que é importante olhar para ele?
7. 📤 Instruções de Entrega (GitHub Desktop + Microsoft Teams)
- Faça o Commit: No GitHub Desktop, digite a mensagem (ex:
Finaliza Capítulo 18 Backend) e clique em Commit to main. - Envie para a Nuvem (Push): Clique em Push origin.
8. 📂 Estrutura de Pastas
mod_07_backend_e_apis/
├── capitulos/
│ ├── capitulo_18_testes.md
│ └── codigos/
│ └── cap18/
│ └── roteiro_testes.txt9. 💡 Checkpoint de Lógica
É possível usar o Postman para testar APIs de grandes empresas que estão na internet (como a API do GitHub ou do Spotify), ou ele só serve para testar o nosso próprio computador (localhost)?
10. 🔥 Desafio de Fixação
Pesquise como criar uma Collection (Coleção) no Postman para organizar todas as rotas de um mesmo projeto.
🔑 Gabarito de Código/Fórmulas
Gabarito da Prática 1:
- Método:
DELETE. - URL:
http://localhost:3000/herois/2. - Body: Não precisa (os dados necessários já estão na URL).