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

Haga lo que hicimos en el aula: utilizando un servicio y mostrando la Página responsiva inicial

package com.entronomia.aplicaciones.ProyectoSeis.servicio;

import com.entronomia.aplicaciones.ProyectoSeis.Repositorio.SerieRepository;
import com.entronomia.aplicaciones.ProyectoSeis.dto.SerieDTO;
import com.entronomia.aplicaciones.ProyectoSeis.modelo.Serie;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;

@Service
public class SerieService {

    @Autowired
    private SerieRepository serieRepository;

    public List<SerieDTO> mostrarTodasLasSeries() {
        return convertirDatosSerieADTOSerie(serieRepository.findAll());
    }

    public List<SerieDTO> mostrarSeriesTop5() {
        return convertirDatosSerieADTOSerie(serieRepository.findTop5ByOrderByEvaluacionDesc());
    }

    public List<SerieDTO> obtenerLanzamientosMasRecientes() {
        return convertirDatosSerieADTOSerie(serieRepository.obtenerLanzamientosMasRecientes());
    }

    public List<SerieDTO> convertirDatosSerieADTOSerie(List<Serie> listaSeries) {
        return listaSeries.stream()
                .map(s -> new SerieDTO(s.getId(), s.getTitulo(), s.getNumeroDeTemporadas(), s.getEvaluacion(), s.getGenero(), s.getPoster(), s.getSinopsis(), s.getActores()))
                .collect(Collectors.toList());
    }

    public SerieDTO obtenerSeriePorId(Long id) {
        Optional<Serie> sx = serieRepository.findById(id);
        if (sx.isPresent()) {
            Serie s = sx.get();
            return new SerieDTO(s.getId(), s.getTitulo(), s.getNumeroDeTemporadas(), s.getEvaluacion(), s.getGenero(), s.getPoster(), s.getSinopsis(), s.getActores());
        } else {
            return null;
        }
    }
}
package com.entronomia.aplicaciones.ProyectoSeis.controller;

import com.entronomia.aplicaciones.ProyectoSeis.Repositorio.SerieRepository;
import com.entronomia.aplicaciones.ProyectoSeis.dto.SerieDTO;
import com.entronomia.aplicaciones.ProyectoSeis.modelo.Serie;
import com.entronomia.aplicaciones.ProyectoSeis.servicio.SerieService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.stream.Collectors;

@RestController
@RequestMapping("/series")
public class SerieController {

    @Autowired
    private SerieService serieServicio;

    @GetMapping()
    public List<SerieDTO> mostrarTodasLasSeries() {
        return serieServicio.mostrarTodasLasSeries();
    }

    @GetMapping("/inicio")
    public String mostrarMensaje() {
        return "Mensaje de Prueba";
    }

    @GetMapping("/top5")
    public List<SerieDTO> mostrarSeriesTop5() {
        return serieServicio.mostrarSeriesTop5();
    }

    @GetMapping("/lanzamientos")
    public List<SerieDTO> obtenerLanzamientosMasRecientes() {
        return serieServicio.obtenerLanzamientosMasRecientes();
    }

    @GetMapping("/{id}")
    public SerieDTO obtenerSeriePorId(@PathVariable Long id) {
        return serieServicio.obtenerSeriePorId(id);
    }
}
1 respuesta

¡Hola Roberto!

¡Felicitaciones por completar la actividad del desafío! Es un paso importante en tu aprendizaje.

Sigue avanzando con ese buen ritmo y no dudes en volver al foro si tienes alguna pregunta o necesitas ayuda.

¡Saludos y éxitos!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!