1
resposta

Desafio: hora da prática

1. Programa para consultar a API do Google Books

public class GoogleBooksAPI {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Digite o título do livro que deseja buscar: ");
        String titulo = scanner.nextLine().trim().replace(" ", "+");
        
        String url = "https://www.googleapis.com/books/v1/volumes?q=" + titulo;
        
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create(url))
                .build();
        
        try {
            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
            
            if (response.statusCode() == 200) {
                System.out.println("\nInformações sobre o livro encontrado:");
                System.out.println(response.body());
            } else {
                System.out.println("Erro ao buscar livro. Código de status: " + response.statusCode());
            }
        } catch (Exception e) {
            System.out.println("Erro durante a requisição: " + e.getMessage());
        } finally {
            scanner.close();
        }
    }
}
2. Programa para consultar a API CoinGecko

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) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Digite o ID da criptomoeda (ex: bitcoin, ethereum): ");
        String cryptoId = scanner.nextLine().trim().toLowerCase();
        
        String url = "https://api.coingecko.com/api/v3/simple/price?ids=" + cryptoId + "&vs_currencies=usd";
        
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create(url))
                .build();
        
        try {
            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
            
            if (response.statusCode() == 200) {
                System.out.println("\nCotação atual:");
                System.out.println(response.body());
            } else {
                System.out.println("Erro ao buscar criptomoeda. Código de status: " + response.statusCode());
            }
        } catch (Exception e) {
            System.out.println("Erro durante a requisição: " + e.getMessage());
        } finally {
            scanner.close();
        }
    }
}

3. Programa para consultar a API TheMealDB

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) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Digite o nome da receita que deseja buscar: ");
        String mealName = scanner.nextLine().trim().replace(" ", "%20");
        
        String url = "https://www.themealdb.com/api/json/v1/1/search.php?s=" + mealName;
        
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create(url))
                .build();
        
        try {
            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
            
            if (response.statusCode() == 200) {
                System.out.println("\nInformações sobre a receita:");
                System.out.println(response.body());
            } else {
                System.out.println("Erro ao buscar receita. Código de status: " + response.statusCode());
            }
        } catch (Exception e) {
            System.out.println("Erro durante a requisição: " + e.getMessage());
        } finally {
            scanner.close();
        }
    }
}
1 resposta

Nossa, sensacional! É assim mesmo, com a prática se vai longe! Parabéns!