Atividade 07: Spring Web
Exercício: Recomendador de Viagem
Seção intitulada “Exercício: Recomendador de Viagem”Descrição
Seção intitulada “Descrição”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.
Requisitos e Instruções
Seção intitulada “Requisitos e Instruções”- 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.
Entrada
Seção intitulada “Entrada”http://localhost:8080/recomendar?clima=calor&estilo=naturezaRio de JaneiroExercício: Gerador de Jogador
Seção intitulada “Exercício: Gerador de Jogador”Descrição
Seção intitulada “Descrição”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.
Requisitos e Instruções
Seção intitulada “Requisitos e Instruções”- 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
JogadorServiceque 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,posicaoetime. - O método deve criar um novo jogador aleatoriamente usando as listas de nomes, sobrenomes, posições.
- O método deve retornar um objeto do tipo
Entrada
Seção intitulada “Entrada”http://localhost:8080/jogador/criciuma/goleiro/{ "nome": "Ronaldo", "sobrenome": "Fenômeno", "idade": 32, "posicao": "Goleiro", "time": "Criciúma"}Exercício: Estudantes
Seção intitulada “Exercício: Estudantes”Descrição
Seção intitulada “Descrição”Crie um projeto Spring Boot que receba e armazene uma lista de estudantes.
Requisitos e Instruções
Seção intitulada “Requisitos e Instruções”- Deve possuir um endpoint do tipo
POSTque recebe um JSON com os dados de um estudante e o salva em memória. - Deve possuir um endpoint do tipo
GETque retorna todos os estudantes cadastrados. - Deve possuir um endpoint do tipo
GETque retorna um estudante pelo seucodigo.
Entrada
Seção intitulada “Entrada”Modelo Estudante
Seção intitulada “Modelo Estudante”{ "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.
Exercício: Playlist Web
Seção intitulada “Exercício: Playlist Web”Descrição
Seção intitulada “Descrição”Crie um projeto Spring Boot que permita criar, listar, atualizar diferentes playlists de músicas.
Requisitos e Instruções
Seção intitulada “Requisitos e Instruções”- Deve possuir um endpoint do tipo
POSTque cria uma nova playlist, retornando o ID da playlist criada. - Deve possuir um endpoint do tipo
POSTque 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
GETque retorna uma lista de todas as playlists. - Deve possuir um endpoint do tipo
GETque retorna uma lista de todas as músicas de uma playlist específica.
Entrada
Seção intitulada “Entrada”Modelo Playlist
Seção intitulada “Modelo Playlist”{ "id": 1, "nome": "Rock Anos 80"}Modelo Música
Seção intitulada “Modelo Música”{ "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.
Exercício: API de Produtos (em memória)
Seção intitulada “Exercício: API de Produtos (em memória)”Descrição
Seção intitulada “Descrição”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.
Requisitos e Instruções
Seção intitulada “Requisitos e Instruções”- Crie um novo projeto Spring Boot usando o Spring Initializr com a dependência
Spring Web. - Crie uma classe
Produtocom os atributosid(UUID),nome(String) epreco(double), um construtor que recebenomeepreco(gerando oidautomaticamente) e os respectivos getters/setters. - Crie um
ProdutoControllermapeado 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 peloid;GET /produtos/buscar?nome=→ busca produtos pelo nome;POST /produtos→ adiciona um novo produto recebido no corpo da requisição;PATCH /produtos/{id}→ atualizanomee/ouprecode um produto existente;DELETE /produtos/{id}→ remove um produto peloid.
Entrada
Seção intitulada “Entrada”{ "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.