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