Olá Jean! Tudo bem?
Que legal que você está explorando a API do The Cat! A consulta por IDs de raças é uma característica comum em muitas APIs, pois facilita a busca e a organização dos dados. No entanto, podemos melhorar a usabilidade do seu código para permitir buscas mais intuitivas, como por nome da raça, em vez de IDs.
Aqui está uma sugestão de como você pode melhorar a consulta, criando um mapeamento entre os nomes das raças e seus respectivos IDs. Assim, você pode buscar pela raça usando o nome e o código traduzirá isso para o ID correspondente.
Primeiro, crie um Map
para armazenar os nomes das raças e seus IDs:
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException, InterruptedException {
Map<String, String> breedMap = new HashMap<>();
breedMap.put("persian", "pers");
breedMap.put("bengal", "beng");
breedMap.put("siamese", "siam");
// Adicione mais raças conforme necessário
Scanner sc = new Scanner(System.in);
System.out.println("Digite o nome da raça do gatinho para buscar: ");
String busca = sc.nextLine().toLowerCase();
String breedId = breedMap.get(busca);
if (breedId == null) {
System.out.println("Raça não encontrada!");
return;
}
String breedCat = "https://api.thecatapi.com/v1/images/search?limit=5&breed_ids=" + breedId + "&api_key=YOUR_API_KEY";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(breedCat))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
Neste exemplo, você pode digitar o nome da raça, e o programa buscará o ID correspondente no Map
. Se o nome da raça não for encontrado, ele exibirá uma mensagem de erro.
Não se esqueça de substituir YOUR_API_KEY
pela sua chave de API do The Cat.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.