1
resposta

[Projeto] Faça como eu fiz: consumindo a API do OMDb

package api;

import java.io.IOException;
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
import java.util.Scanner;

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

    Scanner sc = new Scanner(System.in);
    System.out.println("Digite um nome de filme");
    var nome = sc.nextLine();

    String buscaCodificada = URLEncoder.encode(nome, StandardCharsets.UTF_8);
    String endereco = "https://www.omdbapi.com/?t=" + buscaCodificada + "&apikey=95100839";
    HttpClient client = HttpClient.newHttpClient(); // envia as requisições para a internet

    HttpRequest request = HttpRequest.newBuilder() // Esse trecho só cria a requisição
            .uri(URI.create(endereco))
            .build();
    HttpResponse<String> response = client
            .send(request, HttpResponse.BodyHandlers.ofString()); // aqui ela é enviada

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

}

// Usei a sugestão de melhoria proposta por um dos alunos...

1 resposta

Oii, Mizael.

Excelente implementação. É muito bom ver que você aplicou a dica do URLEncoder.

Esse detalhe faz toda a diferença na qualidade do código. A estrutura da requisição HTTP (Client -> Request -> Response) também está certinha.

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