1
resposta

Resolução

Compartilhando minha resolução.

/**
 * 1. Crie um programa em Java que utilize as classes HttpClient, HttpRequest e HttpResponse para fazer uma consulta
 * à API do Google Books. Solicite ao usuário que insira o título de um livro, e exiba as informações disponíveis
 * sobre o livro retornado pela API.
 */

package desafios.desafio01;

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 GoogleBooksAPI {
    public static void main(String[] args) throws IOException, InterruptedException {
        Scanner entrada = new Scanner(System.in);
        System.out.print("Digite o título do livro: ");
        String titulo = entrada.nextLine();

        titulo = titulo.replaceAll(" ", "+");
        String url = "https://www.googleapis.com/books/v1/volumes?q=" + titulo;

        HttpClient cliente = HttpClient.newHttpClient();
        HttpRequest requisicao = HttpRequest
                .newBuilder()
                .uri(URI.create(url))
                .build();
        HttpResponse<String> resposta = cliente.send(requisicao, HttpResponse.BodyHandlers.ofString());

        System.out.println(resposta.body());
    }
}
/**
 * 2. Crie um programa Java que utiliza as classes HttpClient, HttpRequest e HttpResponse para fazer uma consulta
 * à API CoinGecko e exiba a cotação atual de uma criptomoeda escolhida pelo usuário.
 */

package desafios.desafio01;

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 CoinGeckoAPI {
    public static void main(String[] args) throws IOException, InterruptedException {
        Scanner entrada = new Scanner(System.in);
        System.out.print("Digite a criptomoeda desejada: ");
        String criptomoeda = entrada.nextLine();

        criptomoeda = criptomoeda.replaceAll(" ", "+");
        String url = "https://api.coingecko.com/api/v3/simple/price?ids=" + criptomoeda + "&vs_currencies=brl";

        HttpClient cliente = HttpClient.newHttpClient();
        HttpRequest requisicao = HttpRequest
                .newBuilder()
                .uri(URI.create(url))
                .build();
        HttpResponse<String> resposta = cliente.send(requisicao, HttpResponse.BodyHandlers.ofString());

        System.out.println(resposta.body());
    }
}
/**
 * 3. Crie um programa Java que faça uma consulta à API do TheMealDB utilizando as classes HttpClient, HttpRequest
 * e HttpResponse. Solicite ao usuário que insira o nome de uma receita e exiba as informações disponíveis
 * sobre essa receita.
 */

package desafios.desafio01;

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 TheMealDBAPI {
    public static void main(String[] args) throws IOException, InterruptedException {
        Scanner entrada = new Scanner(System.in);
        System.out.print("Digite a receita desejada: ");
        String receita = entrada.nextLine();

        receita = receita.replaceAll(" ", "+");
        String url = "https://www.themealdb.com/api/json/v1/1/search.php?s=" + receita;

        HttpClient cliente = HttpClient.newHttpClient();
        HttpRequest requisicao = HttpRequest
                .newBuilder()
                .uri(URI.create(url))
                .build();
        HttpResponse<String> resposta = cliente.send(requisicao, HttpResponse.BodyHandlers.ofString());

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

Belezinha?

1 resposta

Olá Lucas, tudo bem?

Meus parabéns pela apresentação da sua resolução das atividades!

Seus códigos estão excelentes e funcionais. Um ponto muito legal de destacar foi o uso do .replaceAll(" ", "+"). Essa é uma maneira prática de garantir que os títulos inseridos pelo usuário não quebrem a estrutura da URL durante a requisição.

Continue com esse empenho e conte sempre com a Alura para evoluir seus estudos!

Bons estudos! Feliz ano novo!

Sucesso

Imagem da comunidade