1
resposta

[Sugestão] Minha solução com buscas com espaço

Minha solução caso o usuário digite uma receita com espaço, como Blini Pancakes, substituí o espaço por %20

package org.alura_ativ_google_books;

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 Main {
    public static void main(String[] args) throws IOException, InterruptedException {



        //Crie um programa Java que faça uma consulta à API do TheMealDB
        // utilizando as classes HttpClient, HttpRequest e HttpResponse.
        // Solicite ao usuário que insira o nome de uma receita e exiba as
        // informações disponíveis sobre essa receita.
        
        Scanner leitura = new Scanner(System.in);
        System.out.println("Digite o nome da receita para a busca: ");

        var busca_bruta = leitura.nextLine();
        var receita = busca_bruta.replace(" ", "%20");
        String endereco = "https://www.themealdb.com/api/json/v1/1/search.php?s=" + receita;

        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder().uri(URI.create(endereco)).build();
        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

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

Oi Anderson,

Excelente solução para lidar com espaços na busca! 👍

A substituição por %20 é a forma correta de codificar espaços em URLs, garantindo que a API entenda a sua requisição. Seu código está claro e conciso, parabéns! 😎

Uma pequena sugestão seria adicionar um tratamento para casos em que a API não retorna resultados, para que o usuário saiba que a receita não foi encontrada. 🧐

Para saber mais: URL encoding

Continue praticando e explorando as possibilidades da API! 💪