Pular para o conteúdo

Atividade 07: Spring Web

Utilizando o framework Spring Web, implemente um controlador que receba clima e estilo de viagem por query strings e retorne uma recomendação de destino.

  • Crie um novo projeto Spring Boot usando o Spring Initializr.
  • Defina uma classe de controlador com a anotação @RestController.
  • Crie um método que receba uma entrada por query strings e retorne uma resposta.
  • Gere pelo menos 4 combinações de clima e estilo, retornando um destino diferente para cada combinação.
http://localhost:8080/recomendar?clima=calor&estilo=natureza
Rio de Janeiro

Utilizando o framework Spring Web, implemente um controlador que recebe o nome do time e a posição no caminho URL e gera um jogador de futebol aleatório.

  • Crie um novo projeto Spring Boot usando o Spring Initializr.
  • Defina uma classe de controlador com a anotação @RestController.
  • Crie um método que receba time e posição pelo caminho usando o @PathVariable.
  • Crie um service chamado JogadorService que contém um método responsável por gerar um jogador aleatório.
    • O método deve retornar um objeto do tipo Jogador, que contém os atributos: nome, sobrenome, idade, posicao e time.
    • O método deve criar um novo jogador aleatoriamente usando as listas de nomes, sobrenomes, posições.
http://localhost:8080/jogador/criciuma/goleiro/
{
"nome": "Ronaldo",
"sobrenome": "Fenômeno",
"idade": 32,
"posicao": "Goleiro",
"time": "Criciúma"
}

Crie um projeto Spring Boot que receba e armazene uma lista de estudantes.

  • Deve possuir um endpoint do tipo POST que recebe um JSON com os dados de um estudante e o salva em memória.
  • Deve possuir um endpoint do tipo GET que retorna todos os estudantes cadastrados.
  • Deve possuir um endpoint do tipo GET que retorna um estudante pelo seu codigo.
{
"nome": "Rivaldo",
"codigo": 123456,
"curso": "Engenharia de Software",
"email": "rivaldo@email.com",
"telefone": "11999999999"
}
  • Retorno do estudante cadastrado ou lista de estudantes conforme o endpoint utilizado.

Crie um projeto Spring Boot que permita criar, listar, atualizar diferentes playlists de músicas.

  • Deve possuir um endpoint do tipo POST que cria uma nova playlist, retornando o ID da playlist criada.
  • Deve possuir um endpoint do tipo POST que permite adicionar uma música a uma playlist existente, passando como parâmetro o ID da playlist e os dados da música.
  • Deve possuir um endpoint do tipo GET que retorna uma lista de todas as playlists.
  • Deve possuir um endpoint do tipo GET que retorna uma lista de todas as músicas de uma playlist específica.
{
"id": 1,
"nome": "Rock Anos 80"
}
{
"id": 1,
"nome": "Sweet Child O' Mine",
"artista": "Guns N' Roses",
"album": "Appetite for Destruction",
"duracao": 254,
"genero": "Rock"
}
  • Retorno do ID da playlist criada, confirmação de adição de música, lista de playlists ou lista de músicas conforme o endpoint utilizado.

Crie um projeto Spring Boot que exponha um pequeno catálogo de produtos, armazenado em memória (sem banco de dados). Este projeto será reaproveitado e evoluído na Atividade 08, por isso mantenha o código organizado.

  • Crie um novo projeto Spring Boot usando o Spring Initializr com a dependência Spring Web.
  • Crie uma classe Produto com os atributos id (UUID), nome (String) e preco (double), um construtor que recebe nome e preco (gerando o id automaticamente) e os respectivos getters/setters.
  • Crie um ProdutoController mapeado em /produtos, inicializando a lista com pelo menos 3 produtos.
  • Implemente os seguintes endpoints, armazenando os produtos em uma List<Produto> em memória:
    • GET /produtos → lista todos os produtos;
    • GET /produtos/{id} → busca um produto pelo id;
    • GET /produtos/buscar?nome= → busca produtos pelo nome;
    • POST /produtos → adiciona um novo produto recebido no corpo da requisição;
    • PATCH /produtos/{id} → atualiza nome e/ou preco de um produto existente;
    • DELETE /produtos/{id} → remove um produto pelo id.
{ "nome": "Mouse Gamer", "preco": 149.90 }
  • Retorno do produto criado/atualizado, da lista de produtos ou de um produto específico, conforme o endpoint utilizado.

Guarde este projeto: ele será a base da Atividade 08 (Persistência), onde adicionaremos um banco de dados H2.