0
respostas

Resolução Mão na massa

Foi incluido no código as seguintes partes:
na SerieController:

@GetMapping("/{id}/temporadas/top")
    public List<EpisodiosDTO> obterTopEpisodios(@PathVariable Long id){
        return servico.obterTopEpisodios(id);
    }

SerieService:

 public List<EpisodiosDTO> obterTopEpisodios(Long id) {
            var serie = repositorio.findById(id)
                    .orElseThrow(() -> new EntityNotFoundException("Série não encontrada"));
            return  repositorio.topEpisodiosPorSerie(serie)
                    .stream()
                    .map(e -> new EpisodiosDTO(e.getTemporada(), e.getNumeroEpisodio(), e.getTitulo()))
                    .collect(Collectors.toList());
    }

SerieRepository:

@Query("SELECT e FROM Serie s " + "JOIN s.episodios e " + "ORDER BY e.avaliacao DESC LIMIT 5")
    List<Episodios> obterTopEpisodios(Long id);