1
resposta

[Sugestão] Uma forma diferente de fazer a requisição de filmes

Nas aulas, os ministrantes utilizaram o operador while para fazer a adição de novos filmes. Mas antes de ver a forma que eles fizeram, eu já estava com vontade de adicionar novos filmes. Para isso, eu criei uma classe totalmente nova que gera classes do tipo Filme (Movie), de um jeito que reduza a quantidade de código para toda vez que for adicionar um novo filme ao JSON. Essa classe pode ser também aplicada no operador while.

public class MovieGetter {

    private final String apiKey = "";

    public Movie searchMovie(String movieToWatch) throws IOException, InterruptedException{
        String movieToWatchCorrect = movieToWatch.replace(" ", "-");

        String url = "https://www.omdbapi.com/?t="+ movieToWatchCorrect + "&apikey=" + apiKey;

        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create(url))
            .build();

        HttpResponse<String> response = client
            .send(request, BodyHandlers.ofString()); 

        String json = response.body();

        Gson gson = new GsonBuilder()
            .setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE)
            .create();

        MovieOMDB movieOMDB = gson.fromJson(json, MovieOMDB.class);

        Movie wantedMovie = new Movie(movieOMDB);

        return wantedMovie;
    }

}

Achei muito recompensador o momento que você percebe que um trecho de código pode funcionar como um módulo. Sinto que aprendo bastante sempre que isso acontece, já que tenho o esforço de pensar "como posso transformar esse trecho hardcoded em algo escalável para mais itens?".

1 resposta

Olá Marcelo! Como vai?

Que bacana que você está explorando novas formas de organizar seu código! Criar uma classe como a MovieGetter para encapsular a lógica de busca de filmes é uma ótima prática de programação orientada a objetos.

Isso ajuda a manter o código mais limpo e modular, facilitando a manutenção e a escalabilidade do projeto.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!