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

  1. Escolhemos o Verbo: GET, POST, PUT, DELETE.
  2. Digitamos a URL: http://localhost:3000/herois.
  3. Preenchemos o Body (se necessário): Em formato JSON.
  4. 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:

  1. Mude o método para POST.
  2. Digite a URL: http://localhost:3000/herois.
  3. Vá na aba Body, selecione raw e mude o formato para JSON.
  4. Digite o JSON:
    {
      "id": 3,
      "nome": "Hulk",
      "poder": "Força Bruta"
    }
  5. 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:

  1. Qual método você vai escolher no Postman?
  2. Como vai ficar a URL para deletar o herói com ID 2?
  3. 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)

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

9. 💡 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:

  1. Método: DELETE.
  2. URL: http://localhost:3000/herois/2.
  3. Body: Não precisa (os dados necessários já estão na URL).

Capitulo Anterior | Proximo Capitulo