Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Haga lo que hicimos en aula

Clase PrincipalConBusqueda

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.util.Scanner;

public class PrincipalConBusqueda {
    public static void main(String[] args) throws IOException, InterruptedException {
        Scanner lectura = new Scanner(System.in);
        System.out.println("Escriba el nombre de una pelicula: ");
        var busqueda = lectura.nextLine();

        // Aquí ya coloqué tu clave activada
        String clave = "a9f38ea0";
        String direccion = "https://www.omdbapi.com/?t=" + busqueda.replace(" ", "+") + "&apikey=" + clave;

        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create(direccion))
                .build();
        
        HttpResponse<String> response = client
                .send(request, HttpResponse.BodyHandlers.ofString());

        System.out.println("Respuesta de la API:");
        System.out.println(response.body());
    }
}
1 respuesta

Hola Mario, espero que estés bien

Parece que estás siguiendo bien las instrucciones de la clase. Has implementado correctamente la clase PrincipalConBusqueda para consumir la API de OMDb. Aquí hay algunos puntos que podrías considerar para asegurarte de que todo funcione correctamente:

  1. Clave de API: Asegúrate de que la clave de API que estás usando (a9f38ea0) esté activa y válida. Las claves de API pueden expirar o ser desactivadas, así que verifica que la tuya esté funcionando.

  2. Espacios en la búsqueda: Ya has manejado bien los espacios en el nombre de la película reemplazándolos con el signo +. Esto es correcto y necesario para que la URL sea válida.

  3. Manejo de errores: Aunque el código lanza excepciones IOException e InterruptedException, podrías considerar manejar estas excepciones de manera más detallada para proporcionar retroalimentación útil al usuario en caso de que algo salga mal. Por ejemplo, podrías envolver el bloque de código que realiza la solicitud en un bloque try-catch.

  4. Salida de la API: Asegúrate de que la respuesta de la API se está imprimiendo correctamente. Puedes probar con diferentes títulos de películas para verificar que los resultados son los esperados.

Aquí tienes un ejemplo de cómo podrías manejar las excepciones:

try {
    HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
    System.out.println("Respuesta de la API:");
    System.out.println(response.body());
} catch (IOException e) {
    System.out.println("Ocurrió un error de entrada/salida: " + e.getMessage());
} catch (InterruptedException e) {
    System.out.println("La solicitud fue interrumpida: " + e.getMessage());
}

Espero que estas sugerencias te sean útiles. ¡Espero haber ayudado y buenos estudios!