Desafio concluído com sucesso!
Fala pessoal!
Concluí o desafio proposto e implementei a solução no projeto. Durante o desenvolvimento, identifiquei uma falha no frontend relacionada à duplicação de chamadas ao carregar os episódios por temporada.
@GetMapping("/{id}/temporadas/top")
public List<EpisodioDTO> obterTodasAsTemporadasTop(@PathVariable Long id){
return serieService.obterTodasAsTemporadasTop(id);
}
public List<EpisodioDTO> obterTodasAsTemporadasTop(Long id) {
return repository.obterTodasAsTemporadasTop(id).stream()
.map(e -> new EpisodioDTO(e.getTemporada(), e.getNumeroEpisodio(), e.getTitulo()))
.collect(Collectors.toList());
}
@Query("SELECT e FROM Episodio e WHERE e.serie.id = :id ORDER BY e.avaliacao DESC LIMIT 5")
List<Episodio> obterTodasAsTemporadasTop(Long id);
Correção realizada no frontend
Removi a chamada redundante da função carregarTopEpisodios, já que a lógica de ordenação/top já estava sendo aplicada diretamente nos valores das opções da temporada, evitando chamadas duplicadas e comportamento inconsistente.
Pull Request: https://github.com/alura-cursos/3356-java-web-front/pull/3
A correção foi enviada via Pull Request para revisão, contendo o ajuste no fluxo de carregamento do frontend e melhoria na clareza da lógica de eventos.