1
resposta

Consumo Api's

//Class Consulta API

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 Consulta_Apis{
    static Scanner leitura = new Scanner(System.in);
    static int opcao = 0;
    //Classes Http
    static HttpClient cliente = HttpClient.newHttpClient();
    static HttpRequest request;
    static  HttpResponse response;

public static void main(String[] args) throws IOException, InterruptedException {
    while (opcao!=4) {
        montaMenu();
        //Opções do menu válidas para aceitação
        if (opcao>0 && opcao<5) {
            if (opcao == 1) {response = cliente.send(consultaLivros(), HttpResponse.BodyHandlers.ofString());}
            if (opcao == 2) {response = cliente.send(consultaCotacao(), HttpResponse.BodyHandlers.ofString());}
            if (opcao == 3) {response = cliente.send(consultaReceitas(), HttpResponse.BodyHandlers.ofString());}
            if (opcao == 4) {break;}
            System.out.println(response.body());
        }else {System.out.println("Opção do menu inválida!!!");}
    }

}
public static HttpRequest consultaLivros() throws IOException, InterruptedException {
    System.out.println("Informe um Título a Ser Consultado: ");
    request = HttpRequest.newBuilder().uri(URI.create("https://www.googleapis.com/books/v1/volumes?q=intitle:"+leitura.next())).build();
    return request;
}
public static HttpRequest consultaCotacao() throws IOException, InterruptedException {
    System.out.println("Informe a Criptomoeda para cotação (ex.: bitcoin)?");
    request = HttpRequest.newBuilder().uri(URI.create("https://api.coingecko.com/api/v3/simple/price?ids="+leitura.next() + "&vs_currencies=usd" )).build();
    return request;
}

public static HttpRequest consultaReceitas() throws IOException, InterruptedException {
    System.out.println("Informe a receita desejada:");
    String endpoint = "https://www.themealdb.com/api/json/v1/1/search.php?s=" + leitura.next();
    request = HttpRequest.newBuilder().uri(URI.create(endpoint)).build();
    return request;
}
public static void montaMenu(){
    System.out.println("**************************");
    System.out.println("Opções MENU");
    System.out.println("1 - Cunsulta Tútulos de Livros");
    System.out.println("2 - Cunsulta Cotação CriptMoedas");
    System.out.println("3 - Cunsulta Receitas");
    System.out.println("4 - Sair");
    System.out.println("**************************");
    opcao = leitura.nextInt();
}
}
1 resposta

Oii Rogerio, tudo bem?

Parabéns!

O seu código Java pra consumir APIs está bem escrito e estruturado. A implementação do menu interativo e a escolha da API a ser consultada são pontos positivos. Além disso, a inclusão de tratamento de erros mostra atenção aos detalhes. Continue assim!

Um abraço e bons estudos.