package com.entronomia.aplicaciones.modelos;
public record PeliculaData(String title, String episode_id, String director, String producer, String release_date) {
}
package com.entronomia.aplicaciones.modelos;
public class Pelicula {
private String nombre;
private int id;
private String director;
private String productor;
private String fechaDeLanzamiento;
public Pelicula(PeliculaData peliculaData) {
this.nombre = peliculaData.title();
this.id = Integer.parseInt(peliculaData.episode_id());
this.director = peliculaData.director();
this.productor = peliculaData.producer();
this.fechaDeLanzamiento = peliculaData.release_date();
}
public String getNombre() {
return nombre;
}
public int getNumero() {
return id;
}
public String getDirector() {
return director;
}
public String getProductor() {
return productor;
}
public String getFechaDeLanzamiento() {
return fechaDeLanzamiento;
}
@Override
public String toString() {
return "(nombre: " + this.nombre + ", id: " + id + ", director: " + director +
", productor: " + productor + ", fecha de lanzamiento: " + fechaDeLanzamiento + ")";
}
}
package com.entronomia.aplicaciones.principal;
import com.entronomia.aplicaciones.modelos.Pelicula;
import com.entronomia.aplicaciones.modelos.PeliculaData;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import java.io.FileWriter;
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class principalUno {
public static void main(String[] args) throws IOException, InterruptedException {
Scanner entrada = new Scanner(System.in);
Gson gson = new GsonBuilder().setPrettyPrinting().create();
List<Pelicula> listaDePeliculas = new ArrayList<>();
while (true) {
System.out.println("Ingrese el número de la película a buscar:");
int numeroDeLaPelicula = entrada.nextInt();
if (numeroDeLaPelicula == 0) {
break;
}
String url = "https://swapi.py4e.com/api/films/" + numeroDeLaPelicula + "/";
try {
HttpClient cliente = HttpClient.newHttpClient();
HttpRequest requerimiento = HttpRequest.newBuilder().uri(URI.create(url)).GET().build();
HttpResponse<String> respuesta = cliente.send(requerimiento, HttpResponse.BodyHandlers.ofString());
String json = respuesta.body();
System.out.println(json);
PeliculaData peliculaData = gson.fromJson(json, PeliculaData.class);
System.out.println(peliculaData);
Pelicula pelicula = new Pelicula(peliculaData);
System.out.println(pelicula);
listaDePeliculas.add(pelicula);
} catch (NumberFormatException e) {
System.out.println("Error de formato numérico");
} catch (IllegalArgumentException e) {
System.out.println("Error en la dirección uri");
} finally {
System.out.println("Fin del proceso");
}
}
System.out.println(listaDePeliculas);
FileWriter escritura = new FileWriter("peliculas.json");
escritura.write(gson.toJson(listaDePeliculas));
escritura.close();
}
}