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

Proyecto final del desafío

package com.entronomia.aplicaciones.proyectoFrases.controller;


import com.entronomia.aplicaciones.proyectoFrases.dto.FraseDTO;
import com.entronomia.aplicaciones.proyectoFrases.service.FraseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/series")
public class FraseController {
    @Autowired
    private FraseService fraseService;

    @GetMapping("/frases")
    public FraseDTO obtenerFrase() {
        return fraseService.obtenerFrase();
    }
}
package com.entronomia.aplicaciones.proyectoFrases.service;

import com.entronomia.aplicaciones.proyectoFrases.dto.FraseDTO;
import com.entronomia.aplicaciones.proyectoFrases.model.Frase;
import com.entronomia.aplicaciones.proyectoFrases.repository.FraseRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class FraseService {
    @Autowired
    private FraseRepository fraseRepository;

    public FraseDTO obtenerFrase() {
        Frase f = fraseRepository.obtenerFrase();
        FraseDTO fdto = new FraseDTO(f.getTitulo(), f.getTexto(), f.getAutor(), f.getPoster());
        return fdto;
    }
}
package com.entronomia.aplicaciones.proyectoFrases.repository;

import com.entronomia.aplicaciones.proyectoFrases.model.Frase;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;

public interface FraseRepository extends JpaRepository<Frase, Long> {

    @Query("SELECT f FROM Frase f order by function('RANDOM') LIMIT 1")
    Frase obtenerFrase();
}
package com.entronomia.aplicaciones.proyectoFrases.model;

import jakarta.persistence.*;

@Entity
@Table(name = "frases")
public class Frase {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String titulo;
    private String texto;
    private String autor;
    private String poster;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }

    public String getTexto() {
        return texto;
    }

    public void setTexto(String texto) {
        this.texto = texto;
    }

    public String getAutor() {
        return autor;
    }

    public void setAutor(String autor) {
        this.autor = autor;
    }

    public String getPoster() {
        return poster;
    }

    public void setPoster(String poster) {
        this.poster = poster;
    }
}
package com.entronomia.aplicaciones.proyectoFrases.dto;

public record FraseDTO(String titulo, String texto, String autor, String poster) {
}

Imagen_1

1 respuesta

Hola Roberto! ¿Cómo estás?

¡Felicitaciones por el esfuerzo y dedicación que has puesto en tu código! Es un paso importante en tu aprendizaje.

Gracias por compartir tu trabajo con nosotros. Sigue así y no dudes en volver al foro si tienes alguna pregunta o dificultad.

¡Gracias nuevamente! Saludos,

No olvides marcar este post como solucionado ✓. para que otros alumnos puedan visualizarlo.