1
resposta

Desafio TheMealDB

Realizei o exercício prático para consumir a api TheMealDb, porém tive um retorno que não consegui corrigir.

Meu código:

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

public class ConsultaTheMealDB {
    public static void main(String[] args) throws IOException, InterruptedException {
  
        Scanner ingrediente = new Scanner(System.in);
        System.out.println("Informe um ingrediente: ");
        var escolhido = ingrediente.nextLine();

        String endereco = "http://www.themealdb.com/api/json/v1/1/search.php?s=" + escolhido;

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

Erro ao realizar a chamada:

<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>cloudflare</center>
</body>
</html>
1 resposta

Oi Wellington,

O erro 301 indica que a URL que você está usando foi movida permanentemente. Isso geralmente acontece quando um site muda seu endereço ou quando há redirecionamentos configurados no servidor. 😐

No seu caso, a API TheMealDB redireciona requisições HTTP para HTTPS. Para corrigir, você precisa usar https:// em vez de http:// no endereço da API.

Altere a linha do seu código que define o endereço da API para:

String endereco = "https://www.themealdb.com/api/json/v1/1/search.php?s=" + escolhido;

Essa pequena mudança deve resolver o problema e permitir que você obtenha os dados da API corretamente. 🤔

Para saber mais: Documentação da API TheMealDB. Aqui você encontra informações sobre como usar a API, incluindo os endpoints e parâmetros disponíveis.

Continue praticando e explorando as possibilidades da programação! 💪