1
resposta

[Projeto] Desafio: hora da Pratica

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 PrimeiraApi {
    public static void main(String[] args) throws IOException, InterruptedException {
        Scanner leitura = new Scanner(System.in);

        System.out.println("Digite o nome do livro: ");
        var busca = leitura.nextLine();

        String endereco ="https://www.googleapis.com/books/v1/volumes?q=" + busca +"&key=AIzaSyCXeJq-SuwLWUatbo0IRIMTX0uLNjjnCbU" ;

        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());

    }
}
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 ConsultaApi {
    public static void main(String[] args) throws IOException, InterruptedException {
        Scanner leitura = new Scanner(System.in);
        var busca = leitura.nextLine();
        String endereco = "https://www.themealdb.com/api/json/v1/1/search.php?s=" + busca;



        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, Alvaro! Como vai?

Agradeço por compartilhar.

Gostei de ver que você praticou o uso de HttpClient, HttpRequest e HttpResponse em duas APIs diferentes. Isso mostra uma boa compreensão do fluxo de montar a URL, enviar a requisição e exibir o retorno no console. Sobre a API de cotação, uma opção simples é usar a AwesomeAPI, que retorna dados de moedas em formato JSON.

Uma dica interessante para o futuro é usar replace para tratar espaços na busca antes de montar a URL:


var buscaFormatada = busca.replace(" ", "+");

String endereco = "https://economia.awesomeapi.com.br/json/last/USD-BRL";

System.out.println(endereco);

O código cria uma URL para consultar a cotação de USD-BRL. O método replace pode ajudar quando o texto digitado tiver espacos.

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