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

Haz como yo hice

import java.util.Scanner;

public class Principal {
private Scanner teclado = new Scanner(System.in);
private ConsumoApi consumoApi = new ConsumoApi();
private ConvierteDatos conversor = new ConvierteDatos();

private final String URL_BASE = "https://www.omdbapi.com/?t=";
private final String API_KEY = "&apikey=TU_API_KEY";

public void muestraElMenu() {
    System.out.println("Escribe el nombre de la serie que deseas buscar:");
    var nombreSerie = teclado.nextLine();

    var json = consumoApi.obtenerDatos(URL_BASE + nombreSerie.replace(" ", "+") + API_KEY);
    DatosSerie datos = conversor.obtenerDatos(json, DatosSerie.class);

    Serie serie = new Serie(datos);

    System.out.println("\nDatos de la serie:");
    System.out.println(serie);
}

}

import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

@JsonIgnoreProperties(ignoreUnknown = true)
public record DatosSerie(
@JsonAlias("Title") String titulo,
@JsonAlias("Year") String anio,
@JsonAlias("imdbRating") String evaluacion,
@JsonAlias("totalSeasons") Integer totalTemporadas,
@JsonAlias("Genre") String genero,
@JsonAlias("Actors") String actores,
@JsonAlias("Poster") String poster,
@JsonAlias("Plot") String sinopsis
) {
}

public class Serie {
private String titulo;
private Integer totalTemporadas;
private Double evaluacion;
private String genero;
private String actores;
private String poster;
private String sinopsis;
private String anio;

public Serie(DatosSerie datos) {
    this.titulo = datos.titulo();
    this.totalTemporadas = datos.totalTemporadas();
    this.anio = datos.anio();
    this.genero = datos.genero();
    this.actores = datos.actores();
    this.poster = datos.poster();
    this.sinopsis = datos.sinopsis();

    try {
        this.evaluacion = Double.valueOf(datos.evaluacion());
    } catch (NumberFormatException e) {
        this.evaluacion = 0.0;
    }
}

public String getTitulo() {
    return titulo;
}

public Integer getTotalTemporadas() {
    return totalTemporadas;
}

public Double getEvaluacion() {
    return evaluacion;
}

public String getGenero() {
    return genero;
}

public String getActores() {
    return actores;
}

public String getPoster() {
    return poster;
}

public String getSinopsis() {
    return sinopsis;
}

public String getAnio() {
    return anio;
}

@Override
public String toString() {
    return "titulo='" + titulo + '\'' +
            ", anio='" + anio + '\'' +
            ", evaluacion=" + evaluacion +
            ", totalTemporadas=" + totalTemporadas +
            ", genero='" + genero + '\'' +
            ", actores='" + actores + '\'' +
            ", poster='" + poster + '\'' +
            ", sinopsis='" + sinopsis + '\'';
}

}

this.evaluacion = Double.valueOf(datos.evaluacion());

Datos de la serie:
titulo='Breaking Bad', anio='2008–2013', evaluacion=9.5, totalTemporadas=5, genero='Crime, Drama, Thriller', actores='Bryan Cranston, Aaron Paul, Anna Gunn', poster='https://...', sinopsis='A high school chemistry teacher...'

modelos/
DatosSerie.java
Serie.java
DatosTemporada.java
DatosEpisodio.java
Episodio.java

service/
ConsumoApi.java
ConvierteDatos.java

principal/
Principal.java

1 respuesta

Hola David,

Gracias por compartir tu código con la comunidad. Es muy valioso ver cómo aplicas en la práctica los conceptos del curso.

Te recomiendo que puedas interactuar con el resto de nuestros compañeros por nuestro Discord.

En virtud de que en Discord el alcance es mayor, la interacción es inmediata y llega a más compañeros, y el foro solo quedaría para esclarecer cualquier duda que puedas tener sobre el contenido de los cursos.

De esa manera, si quieres seguir compartiendo tu código, proyectos o repositorios, sea por el Discord — con certeza por ahí llegará a más personas.

¡Gracias nuevamente por tu aporte!

Saludos,

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