Hola Miguel como estas? En este desafío los actores y los otros valores propuestos son informaciones que ya viene de nuestra API entonces debemos adicionarlas en el record DatosSerie
, y para que nuestra aplicación pueda trabajar con esos datos necesitamos agregarlos a nuestra clase modelo Serie
también, no olvides de incluir estos atributos dentro del constructor y de crear los getter y setters necesários, y para que la información se pueda mostrar completa se debe adicionar al toString de la clase Serie
De esta forma te quedarian dos clases de la siguiente forma:
DatosSerie.java
package com.aluracursos.screenmatch.model;
import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
@JsonIgnoreProperties(ignoreUnknown = true)
public record DatosSerie(
@JsonAlias("Title") String titulo,
@JsonAlias("totalSeasons")Integer totalTemporadas,
@JsonAlias("imdbRating") String evaluacion,
@JsonAlias("Poster")String poster,
@JsonAlias("Genre") String genero,
@JsonAlias("Actors")String actores,
@JsonAlias("Plot")String sinopsis) {
}
Serie.java
package com.aluracursos.screenmatch.model;
import com.aluracursos.screenmatch.service.ConsultaChatGPT;
import com.fasterxml.jackson.annotation.JsonAlias;
import java.util.OptionalDouble;
public class Serie {
private String titulo;
private Integer totalTemporadas;
private Double evaluacion;
private String poster;
private Categoria genero;
private String actores;
private String sinopsis;
public Serie(DatosSerie datosSerie){
this.titulo = datosSerie.titulo();
this.totalTemporadas = datosSerie.totalTemporadas();
this.evaluacion = OptionalDouble.of(Double.valueOf(datosSerie.evaluacion())).orElse(0);
this.poster = datosSerie.poster();
this.genero = Categoria.fromString(datosSerie.genero().split(",")[0].trim());
this.actores = datosSerie.actores();
this.sinopsis = datosSerie.sinopsis();
}
@Override
public String toString() {
return "genero=" + genero +
"titulo='" + titulo + '\'' +
", totalTemporadas=" + totalTemporadas +
", evaluacion=" + evaluacion +
", poster='" + poster + '\'' +
", actores='" + actores + '\'' +
", sinopsis='" + sinopsis + '\'';
}
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public Integer getTotalTemporadas() {
return totalTemporadas;
}
public void setTotalTemporadas(Integer totalTemporadas) {
this.totalTemporadas = totalTemporadas;
}
public Double getEvaluacion() {
return evaluacion;
}
public void setEvaluacion(Double evaluacion) {
this.evaluacion = evaluacion;
}
public String getPoster() {
return poster;
}
public void setPoster(String poster) {
this.poster = poster;
}
public Categoria getGenero() {
return genero;
}
public void setGenero(Categoria genero) {
this.genero = genero;
}
public String getActores() {
return actores;
}
public void setActores(String actores) {
this.actores = actores;
}
public String getSinopsis() {
return sinopsis;
}
public void setSinopsis(String sinopsis) {
this.sinopsis = sinopsis;
}
}