1
resposta

[Dúvida] api

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.Scanner;

public class PrincipalComBusca {
public static void main(String[] args) throws IOException, InterruptedException {

    Scanner leitura = new Scanner(System.in);
    System.out.println("Digite o nome do filme para busca: ");
    var busca = leitura.nextLine();

    String chave = "Coloque aqui a sua chave do OMDb";
    String endereco = "https: https://www.omdbapi.com/?i=" + busca + "&apikey=" + chave;

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

    System.out.println(response.body());
}

}

1 resposta

Oi, Cássia! Como vai?

Percebi que você está aplicando muito bem o conceito de requisições HTTP em Java. O que chamou atenção foi a construção da URL, só fique atenta ao trecho: String endereco = "https: https://www.omdbapi.com/?i=" + busca + "&apikey=" + chave;. Há uma duplicação do https: que pode impactar na execução da requisição.

Uma dica interessante para o futuro é testar a conexão antes de enviar a requisição. Veja este exemplo simples:


if (client != null) {
    System.out.println("Cliente HTTP criado com sucesso");
}

Esse código verifica se o cliente HTTP foi instanciado corretamente.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!