Pular para conteúdo

Exercícios: Construindo APIs REST 🏗️

Instruções

Organize seu código e implemente padrões RESTful.


🟢 Nível: Básico

  1. Camadas: Crie uma pasta models e mova uma struct de sua escolha para lá. Importe-a no seu main.go.
  2. Verbo POST: Crie um handler que receba um JSON e apenas o imprima no console do servidor.

🟡 Nível: Intermediário

  1. Busca por ID: Implemente uma lógica que, dada uma lista de produtos, retorne apenas o produto que tenha o ID passado na URL (Dica: use strings.Split no Path para pegar o ID).
  2. Status Codes: Garanta que sua API retorne 201 Created ao criar um recurso e 404 Not Found se um recurso solicitado não existir na lista.

🔴 Nível: Desafio

5. CRUD In-Memory: Crie um CRUD completo (Create, Read, Update, Delete) para uma struct Cliente usando apenas o pacote net/http e um slice global para armazenar os dados. Teste cada rota usando o Postman ou Insomnia.

📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Camadas **Resolução e Implementação:**
// Estrutura de implementação recomendada para Camadas
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Construindo APIs REST ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 2: Verbo POST **Resolução e Implementação:**
// Estrutura de implementação recomendada para Verbo POST
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Construindo APIs REST ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 3: Busca por ID **Resolução e Implementação:**
// Estrutura de implementação recomendada para Busca por ID
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Construindo APIs REST ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 4: Status Codes **Resposta Comentada:** - **Fundamentação:** No contexto de **Construindo APIs REST ️**, o conceito abordado (Status Codes) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 5: CRUD In-Memory **Resolução e Implementação:**
// Estrutura de implementação recomendada para CRUD In-Memory
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Construindo APIs REST ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda.