Pular para conteúdo

Exercícios 12 - CRUD Completo com API 🏗️

🟢 Básicos

  1. CRUD: O que significa cada letra da sigla CRUD?
  2. Métodos HTTP: Quais métodos HTTP (GET, POST, etc) são usados para Criar e Atender (Ler) dados?

🟡 Intermediários

  1. Headers: Por que é necessário enviar o cabeçalho Content-Type: application/json ao realizar um POST para uma API?
  2. Refresh Local: Por que é uma boa prática filtrar a lista local ao deletar um item em vez de fazer uma nova requisição de "Listar tudo" ao servidor?

🔴 Desafio

  1. Gerenciador de Estoque:
    • Imagine uma API de produtos: https://api-estoque.com/produtos.
    • Escreva o código da função salvarProduto(novoProduto) que faz um POST com os dados do produto.
    • Escreva o código da função atualizarPreco(id, novoPreco) que faz um PATCH enviando apenas o novo preço.
    • Como você lidaria com o estado de "Salvando..." no botão para evitar que o usuário clique duas vezes seguidas e envie dados duplicados?

📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: CRUD **Resposta Comentada:** - **Fundamentação:** No contexto de **CRUD Completo com API ️**, o conceito abordado (CRUD) é 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 2: Métodos HTTP **Resolução e Implementação:**
// Solução de referência para: Métodos HTTP
function solucaoExercicio() {
    console.log("Executando validação de: CRUD Completo com API ️");
    return true;
}

solucaoExercicio();
- **Explicação:** A solução atende diretamente aos requisitos de **CRUD Completo com API ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 3: Headers **Resposta Comentada:** - **Fundamentação:** No contexto de **CRUD Completo com API ️**, o conceito abordado (Headers) é 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 4: Refresh Local **Resposta Comentada:** - **Fundamentação:** No contexto de **CRUD Completo com API ️**, o conceito abordado (Refresh Local) é 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: Gerenciador de Estoque **Resposta Comentada:** - **Fundamentação:** No contexto de **CRUD Completo com API ️**, o conceito abordado (Gerenciador de Estoque) é 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.