import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import java.util.List;
@JsonIgnoreProperties(ignoreUnknown = true)
public record DatosTemporada(
@JsonAlias("Season") Integer numero,
@JsonAlias("Episodes") List episodios
) {
}
import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@JsonIgnoreProperties(ignoreUnknown = true)
public record DatosEpisodio(
@JsonAlias("Title") String titulo,
@JsonAlias("Episode") Integer numero,
@JsonAlias("imdbRating") String evaluacion,
@JsonAlias("Released") String fechaLanzamiento
) {
}
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:");
var nombreSerie = teclado.nextLine();
var json = consumoApi.obtenerDatos(URL_BASE + nombreSerie.replace(" ", "+") + API_KEY);
DatosSerie datosSerie = conversor.obtenerDatos(json, DatosSerie.class);
List<DatosTemporada> temporadas = new ArrayList<>();
for (int i = 1; i <= datosSerie.totalTemporadas(); i++) {
json = consumoApi.obtenerDatos(URL_BASE + nombreSerie.replace(" ", "+") + "&season=" + i + API_KEY);
DatosTemporada datosTemporada = conversor.obtenerDatos(json, DatosTemporada.class);
temporadas.add(datosTemporada);
}
temporadas.forEach(System.out::println);
}
}
public class ScreenmatchApplication {
public static void main(String[] args) {
Principal principal = new Principal();
principal.muestraElMenu();
}
}