Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Resolução

Abaixo minhas resoluções dos exercícios

1 - Neste registrei a key da API por fora para não expor minha chave pessoal

package CursoAPI.Exercicios.Aula1;

import java.io.IOException;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.util.Scanner;

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

        Scanner leitura = new Scanner(System.in);
        System.out.println("Digite o nome do livro que deseja buscar: ");
        var busca = leitura.nextLine();

        // API_KEY registrada no terminal pelo setx (temporário)
        String key = System.getenv("API_KEY");
        if (key == null) {
            System.out.println("API key não encontrada. Defina a variável de ambiente API_KEY.");
            return;
        }

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

        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
                .uri(java.net.URI.create(endereco))
                .build();

        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

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

2 -

package CursoAPI.Exercicios.Aula1;

import java.io.IOException;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.util.Scanner;

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

        Scanner leitura = new Scanner(System.in);
        System.out.println("Digite o nome da criptomoeda que deseja buscar: ");
        var busca = leitura.nextLine();

        String endereco = "https://api.coingecko.com/api/v3/simple/price?ids=" + busca + "&vs_currencies=brl";

        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
                .uri(java.net.URI.create(endereco))
                .build();

        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

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

3 -

package CursoAPI.Exercicios.Aula1;

import java.io.IOException;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.util.Scanner;

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

        Scanner leitura = new Scanner(System.in);
        System.out.println("Digite o nome da receita que deseja buscar: ");
        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(java.net.URI.create(endereco))
                .build();

        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

        System.out.println(response.body());
    }
}
1 resposta
solução!

Oi, Gabriel! Como vai?

Gostei de como você gerenciou a API_KEY utilizando variáveis de ambiente para proteger suas credenciais. Isso mostra atenção à segurança no desenvolvimento, um ponto essencial quando lidamos com APIs externas.

Conte com o apoio do Fórum na sua jornada. Abraços e bons estudos!