1
resposta

[Dúvida] Duvida Sobre o Entendimento do Assunto

Boa tarde, vim aqui pois, durante esse curso, apesar de não ter feito nem metade deste, me deixar um pouco com o pé atras, visto que não consegui entender direito o funcionamento dos código que solicita a API:

HttpClient client = HttpClient.newHttpClient();

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

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

Apesar de eu ter conseguido aplicar, e até utilizar no exercício do Google Books (mesmo copiando os trechos desse código na mão), não sinto direito que dominei esse conceito e nem que entendi como funciona, seria uma frustração só minha? ela irá melhorar ao decorrer deste curso e dos próximos? Só irei "entender" ou "Decorar" praticando? Venho aqui com essas dúvidas pois não sei se este caso será melhor explicado ao longo deste curso ou dos próximos e gostaria de saber se não sou o único.

1 resposta

Olá, Claudio! Tudo bem?

Entender como funcionam as requisições HTTP em Java pode ser um pouco desafiador no início, mas é totalmente normal sentir-se assim. Vamos tentar esclarecer um pouco mais sobre o que está acontecendo nesse trecho de código que você mencionou.

  1. HttpClient: Essa classe é responsável por enviar requisições HTTP e receber respostas. No seu código, HttpClient.newHttpClient() cria uma nova instância do cliente HTTP que você usará para enviar suas requisições.

  2. HttpRequest: Aqui, você está construindo uma requisição HTTP. HttpRequest.newBuilder() inicia a construção de uma nova requisição. uri(URI.create(url)) define o URL para o qual a requisição será enviada. E build() finaliza a construção da requisição.

  3. HttpResponse: Depois de enviar a requisição, você recebe uma resposta. client.send(request, HttpResponse.BodyHandlers.ofString()) envia a requisição e espera uma resposta do tipo String.

A prática é realmente uma das melhores formas de se familiarizar com esses conceitos. Ao longo do curso, você terá mais oportunidades para aplicar esses conceitos, o que certamente ajudará a solidificar seu entendimento. E não se preocupe, muitos estudantes compartilham dessa mesma frustração no início, mas com o tempo e prática, as coisas vão ficando mais claras.

Experimente criar pequenos projetos ou exercícios adicionais, como os sugeridos na atividade, para reforçar o aprendizado. Por exemplo, tente criar um programa que faça uma requisição a outra API que você ache interessante, como a do CoinGecko ou TheMealDB, conforme sugerido.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.