Invés de concatenar o consumo api com a string nome fazendo a substituição do espaço para um "+", poderíamos utilizar um encoder para formatar o nome da serie e somente fazer: endereço + nomeSerie + api_key?
Invés de concatenar o consumo api com a string nome fazendo a substituição do espaço para um "+", poderíamos utilizar um encoder para formatar o nome da serie e somente fazer: endereço + nomeSerie + api_key?
Olá Dalton! Como vai?
Sim, é possível usar um encoder para formatar o nome da série ao invés de substituir os espaços por "+". Isso pode ser feito utilizando a classe URLEncoder do Java, projetada para converter uma string em um formato seguro para URLs, substituindo automaticamente caracteres especiais, como espaços, por seus equivalentes codificados.
Aqui está um exemplo de como você pode fazer isso:
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
public class Principal {
private Scanner leitura = new Scanner(System.in);
private ConsumoApi consumo = new ConsumoApi();
private final String ENDERECO = "https://www.omdbapi.com/?t=";
private final String API_KEY = "&apikey=6585022c";
public void exibMenu(){
System.out.println("Digite o nome da série para a busca");
var nomeSerie = leitura.nextLine();
try {
String nomeSerieEncoded = URLEncoder.encode(nomeSerie, StandardCharsets.UTF_8.toString());
var json = consumo.obterDados(ENDERECO + nomeSerieEncoded + API_KEY);
// Processar o JSON conforme necessário
} catch (Exception e) {
e.printStackTrace();
}
}
}
Neste exemplo, URLEncoder.encode(nomeSerie, StandardCharsets.UTF_8.toString()) é utilizado para codificar o nome da série. Isso garante que todos os caracteres especiais, incluindo espaços, sejam convertidos para um formato seguro para URLs.
Espero ter ajudado e bons estudos!