Olá, Isabelle. Como vai?
Parabéns por concluir essa etapa fundamental do curso! O seu código está muito bem estruturado e você aplicou corretamente as novas classes do Java 11+ para lidar com requisições HTTP (HttpClient, HttpRequest e HttpResponse).
Um ponto muito positivo foi o uso do método replaceAll("\\s", "+"). Isso é essencial para que a busca funcione corretamente na API do OMDb, já que as URLs não podem conter espaços em branco. Ao substituir o espaço pelo sinal de "+", você garante que o parâmetro de busca seja interpretado corretamente pelo servidor.
Para complementar seu aprendizado, deixo algumas sugestões técnicas:
- Gerenciamento de Recursos: É uma boa prática fechar o objeto
Scanner ao final do programa usando leitura.close(); para evitar vazamento de memória. - Flexibilidade na busca: No seu
endereco, o ano está fixo como 2018. Caso queira buscar qualquer filme, você pode remover o parâmetro &y=2018 ou transformá-lo em uma nova variável de entrada para o usuário. - Segurança da Chave: Em projetos reais, evite deixar a
apikey exposta diretamente no código (Hardcoded). O ideal é usar variáveis de ambiente ou arquivos de configuração para protegê-la.
Veja como o trecho do endereço poderia ficar mais flexível:
// Removendo o ano fixo para permitir buscas mais abrangentes
String endereco = "https://www.omdbapi.com/?t=" + busca + "&apikey=3877424c";
Além disso, como o próximo passo do curso envolve lidar com o formato JSON, prepare-se para utilizar bibliotecas como o Gson ou Jackson para transformar esse texto que aparece no seu response.body() em um objeto Java de verdade!
Espero que possa ter lhe ajudado!