Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

No puedo realizar return en la llamada para obtener los Episodios.

No logro el stream en esta parte del codigo. del Serie.Service.java

public List obtenerTodasLasTemporadas(Long id) { Optional serie = repository.findById(id); if(serie.isPresent()){ Serie s = serie.get(); return s.getEpisodios().stream() }

Alguien me puede Orientar?
1 respuesta

Hola Pedro, espero que estés bien

Parece que estás en el camino correcto, pero te falta completar el uso de streams para mapear los episodios a EpisodioDTO. Aquí te dejo un ejemplo de cómo podrías completar tu método obtenerTodasLasTemporadas:

public List<EpisodioDTO> obtenerTodasLasTemporadas(Long id) {
    Optional<Serie> serie = repository.findById(id);
    if(serie.isPresent()){
        Serie s = serie.get();
        return s.getEpisodios().stream()
                .map(e -> new EpisodioDTO(e.getTemporada(), e.getTitulo(), e.getNumeroDelEpisodio()))
                .collect(Collectors.toList());
    }
    return Collections.emptyList(); // Retorna una lista vacía si la serie no está presente
}

En este ejemplo, utilizamos stream() para procesar la lista de episodios, map() para convertir cada episodio en un EpisodioDTO, y finalmente collect(Collectors.toList()) para recolectar los resultados en una lista.

Recuerda que es importante manejar el caso en que la serie no está presente. En este caso, estoy retornando una lista vacía, pero puedes ajustar esto según lo que necesites para tu aplicación.

Espero que esto te ayude a resolver tu problema. ¡Bons estudios!