Pular para conteúdo

Exercícios: Aula 15 - Rust para Web (Introdução) 🌐

🟢 Básico

  1. Ecossistema Web: Cite 2 frameworks web para Rust além do Actix Web e comente uma característica de cada um.
  2. Status HTTP: O que o método HttpResponse::Ok() faz e qual é o código numérico associado a ele?

🟡 Intermediário

  1. Nova Rota: Crie uma rota GET /data que retorne a data e hora atual (pode ser uma string estática para simplificar).
  2. Parâmetros de Rota: Use o web::Path do Actix para criar uma rota que receba um nome na URL (ex: /saudacao/{nome}) e retorne uma mensagem personalizada como "Olá, {nome}!".

🔴 Desafio

  1. CRUD Simples (Memória): Crie uma API que gerencie uma lista de strings em memória.
    • GET /lista: Retorna todas as strings em JSON.
    • POST /adicionar: Recebe um JSON {"item": "texto"} e adiciona à lista. (Dica: Você precisará usar um web::Data com um Mutex para compartilhar a lista entre as threads do servidor).

📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Ecossistema Web **Resposta Comentada:** - **Fundamentação:** No contexto de **Rust para Web (Introdução)**, o conceito abordado (Ecossistema Web) é 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: Status HTTP **Resolução e Implementação:**
// Estrutura de implementação recomendada para Status HTTP
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Rust para Web (Introdução)**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 3: Nova Rota **Resolução e Implementação:**
// Estrutura de implementação recomendada para Nova Rota
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Rust para Web (Introdução)**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 4: Parâmetros de Rota **Resposta Comentada:** - **Fundamentação:** No contexto de **Rust para Web (Introdução)**, o conceito abordado (Parâmetros de Rota) é 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 Simples (Memória) **Resolução e Implementação:**
// Estrutura de implementação recomendada para CRUD Simples (Memória)
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Rust para Web (Introdução)**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda.