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