Principal.java
package com.valentina.screenmatch1.principal;
import com.valentina.screenmatch1.model.DatosEpisodio;
import com.valentina.screenmatch1.model.DatosSerie;
import com.valentina.screenmatch1.model.DatosTemporadas;
import com.valentina.screenmatch1.service.ConsumoAPI;
import com.valentina.screenmatch1.service.ConvierteDatos;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Principal {
private Scanner teclado = new Scanner(System.in);
private ConsumoAPI consumoApi = new ConsumoAPI();
private final String URL_BASE = "https://www.omdbapi.com/?t=";
private final String API_KEY = "&apikey=b38d6b01";
private ConvierteDatos conversor = new ConvierteDatos();
public void muestraElMenu(){
System.out.println("Por favor escriba el nombre de la serie");
//BUSCA LOS DATOS GENERALES DE LA SERIE
var nombreSerie = teclado.nextLine();
var json = consumoApi.obtenerDatos(URL_BASE + nombreSerie.replace(" ","+") + API_KEY);
System.out.println(json);
var datos = conversor.obtenerDatos(json, DatosSerie.class);
System.out.println(datos);
//BUSCA LOS DATOS DE TODAS LAS TEMPORADAS
List<DatosTemporadas> temporadas = new ArrayList<>();
for (int i = 1; i <= datos.totalDeTemporadas() ; i++) {
json=consumoApi.obtenerDatos(URL_BASE + nombreSerie.replace(" ","+")+"&Season="+i+API_KEY);
var datosTemporadas = conversor.obtenerDatos(json, DatosTemporadas.class);
temporadas.add(datosTemporadas);
}
//temporadas.forEach(System.out::println);
//MOSTRAR SOLO EL TITULO DE LOS EPISODIOS POR TEMPORADAS
// for (int i = 0; i < datos.totalDeTemporadas() ; i++) {
// List<DatosEpisodio> episodiosTemporada = temporadas.get(i).episodios();
// for (int j = 0; j < episodiosTemporada.size(); j++) {
// System.out.println(episodiosTemporada.get(j).titulo());
// }
// }
temporadas.forEach(t -> t.episodios().forEach(e -> System.out.println(e.titulo())));
}
}
screenmatch1Application.java
package com.valentina.screenmatch1;
import com.valentina.screenmatch1.model.DatosEpisodio;
import com.valentina.screenmatch1.model.DatosSerie;
import com.valentina.screenmatch1.model.DatosTemporadas;
import com.valentina.screenmatch1.principal.Principal;
import com.valentina.screenmatch1.service.ConsumoAPI;
import com.valentina.screenmatch1.service.ConvierteDatos;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import java.util.ArrayList;
import java.util.List;
@SpringBootApplication
public class Screenmatch1Application implements CommandLineRunner {
public static void main(String[] args) {
SpringApplication.run(Screenmatch1Application.class, args);
}
@Override
public void run(String... args) throws Exception {
Principal principal = new Principal();
principal.muestraElMenu();
}
}