public class PrincipalConBusqueda { public static void main(String[] args) throws IOException, InterruptedException { Scanner lectura = new Scanner(System.in); List titulos = new ArrayList<>(); Gson gson = new GsonBuilder() .setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE) .setPrettyPrinting() .create();
while(true) {
System.out.println("Escriba el nombre de la película: ");
var busqueda = lectura.nextLine();
if(busqueda.equalsIgnoreCase("salir")) {
break;
}
String direccion = "https://www.omdbapi.com/?t=" + busqueda + "&apikey=871fdd68";
//en este comando el cliente esta haciendo un request o solicitud try { HttpClient client = HttpClient.newHttpClient(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create(direccion)) .build();
HttpResponse<String> response = client
.send(request, HttpResponse.BodyHandlers.ofString());
String json = response.body();
System.out.println(response.body());
TituloOmdb miTituloOmdb = gson.fromJson(json, TituloOmdb.class);
System.out.println(miTituloOmdb);
Titulo miTitulo = new Titulo(miTituloOmdb);
System.out.println("Titulo ya convertido: " + miTitulo);
//estamos creando un archivo externo de escritura con el contexto de peliculas
//por ahora lo podemos borrar ya lo probamos que crea un archivo peliculas.txt
// FileWriter escritura = new FileWriter("peliculas.txt");
//escritura.write(miTitulo.toString());
//escritura.close();
titulos.add(miTitulo);
} catch (NumberFormatException e) {
System.out.println("======= **** ocurrió un error: **** =========");
System.out.println(e.getMessage());
} catch (IllegalArgumentException e) {
System.out.println("***** error en la URL, verifique la dirección ***** ");
} catch (ErrorEnConversionDeDuracionException e) {
System.out.println(e.getMessage());
}
}
System.out.println(titulos);
FileWriter escritura = new FileWriter("titulos.json");
escritura.write(gson.toJson(titulos));
escritura.close();
System.out.println("Finalizó la ejecución del programa con ÉXITO");
}
}