El pide lo siguiente, pero no estoy muy seguro de como realizar esto 1-Crear una clase para obtener las peliculas de omdb
3-Crear una clase para guardar peliculas en un archivo.json
2-Crear una clase para transformar lo que viene de la clase omdb a titulo
public static void main(String[] args) throws IOException, InterruptedException {
Scanner lectura =new Scanner(System.in);
List<Titulo> titulos= new ArrayList<>();
Gson gson = new GsonBuilder()
.setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE)
.setPrettyPrinting()
.create();
while (true){
System.out.println("Ingrese la pelicula xd: ");
var buscar=lectura.nextLine();
if(buscar.equalsIgnoreCase("salir")){
break;
}
var direccion=("https://www.omdbapi.com/?t="
+buscar.replace(" ","+")
+"&apikey=4f330f8e");
System.out.println(direccion);
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(json);
TituloOmdb miTituloOmdb = gson.fromJson(json, TituloOmdb.class);
System.out.println(miTituloOmdb);
Titulo miTitulo = new Titulo(miTituloOmdb);
System.out.println("Título ya convertido: "+miTitulo);
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 URI, verif");
}catch (ErrorEnConversionDeDuracionException e){
System.out.println(e.getMessage());
}
}
System.out.println(titulos);
FileWriter archivoPelicula=new FileWriter("titulos.json");
archivoPelicula.write(gson.toJson(titulos));
archivoPelicula.close();
System.out.println("Finalizó la ejecución");
}