Pular para conteúdo

Exercícios 03 - Modelagem REST 📡

🟢 Fáceis

  1. URI Design: Corrija as URIs abaixo para seguirem as boas práticas REST:
    • GET /listar_todos_usuarios
    • POST /criarNovoPedido
    • DELETE /remover-produto-por-id/123
  2. Verbos: Qual o verbo HTTP mais adequado para atualizar a senha de um usuário? Por que?

🟡 Médios

  1. Status Codes: Escolha o código de status ideal para as situações:
    • Usuário tentou deletar um arquivo, mas ele não tem permissão de administrador.
    • O cadastro foi realizado com sucesso e o sistema retornou os dados do novo usuário.
    • O servidor caiu por falta de memória.
  2. Idempotência: Explique por que o POST não é idempotente e o GET é.

🔴 Desafio

  1. Design de Contrato: Desenhe as rotas para um sistema de E-commerce.
    • Como seria a URI para listar todos os itens de um carrinho específico?
    • Como seria a URI para adicionar um item a este carrinho?
    • Escreva o JSON que representaria um "Item de Carrinho" com: produto_id, nome, quantidade e preco_unitario.

📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: URI Design **Resposta Comentada:** - **Fundamentação:** No contexto de **Modelagem de APIs RESTful**, o conceito abordado (URI Design) é 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: Verbos **Resposta Comentada:** - **Fundamentação:** No contexto de **Modelagem de APIs RESTful**, o conceito abordado (Verbos) é 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 3: Status Codes **Resolução e Implementação:**
// Estrutura de implementação recomendada para Status Codes
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Modelagem de APIs RESTful**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 4: Idempotência **Resposta Comentada:** - **Fundamentação:** No contexto de **Modelagem de APIs RESTful**, o conceito abordado (Idempotência) é 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: Design de Contrato **Resposta Comentada:** - **Fundamentação:** No contexto de **Modelagem de APIs RESTful**, o conceito abordado (Design de Contrato) é 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.