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

Top 5 Episodios

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad
Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad
Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad
Hola buenas tardes, hice esas tres configuraciones y funciono.

1 respuesta

Hola Miguel,

¡Qué bueno que las configuraciones funcionaron! Parece que has implementado correctamente la funcionalidad para obtener el top 5 de episodios de una serie. Aquí tienes un resumen de lo que has hecho:

  1. Consulta en el Repositorio: Has definido una consulta en el repositorio para obtener los episodios de una serie, ordenados por evaluación de manera descendente, y limitados a 5 resultados.

    @Query("SELECT e FROM Episodio e WHERE e.serie.id = :id ORDER BY e.evaluacion DESC LIMIT 5")
    List<Episodio> top5Episodios(Long id);
    
  2. Servicio para Transformar Datos: En el servicio, transformas los episodios obtenidos en objetos EpisodioDTO, que probablemente es una clase que contiene solo la información necesaria para el cliente.

    public List<EpisodioDTO> top5Episodio(Long id) {
        List<Episodio> episodios = repository.top5Episodios(id);
        return episodios.stream()
            .map(e -> new EpisodioDTO(e.getTemporada(), e.getTitulo(), e.getNumeroEpisodio()))
            .collect(Collectors.toList());
    }
    
  3. Controlador para Exponer el Endpoint: Has configurado un endpoint en el controlador para que el cliente pueda acceder a esta información.

    @GetMapping("/{id}/temporadas/top")
    public List<EpisodioDTO> top5Episodio(@PathVariable Long id) {
        return servicio.top5Episodio(id);
    }
    

Todo parece estar en orden. Si tienes alguna pregunta específica o necesitas más ayuda, no dudes en preguntar.

Espero haber ayudado y buenos estudios!