Não entendi o que significavam os códigos à qual a instrutora estava escrevendo ao decorrer da aula
Então, parei o que estava fazendo e logo mandei um prompt à Luri e ela me retornou o seguinte resultado:
"Entendo que você está com dúvidas sobre o significado de cada código utilizado no exemplo. Vou te explicar:
A classe HttpClient é responsável por fazer requisições HTTP.
A classe HttpRequest é utilizada para construir uma requisição HTTP.
A classe HttpResponse é responsável por armazenar a resposta da requisição HTTP.
No exemplo, o código está fazendo uma requisição para o webservice "https://www.omdbapi.com/" passando o parâmetro "t=matrix" (que indica que queremos informações sobre o filme "Matrix") e a chave de API "apikey=6585022c". A resposta do webservice é armazenada na variável "response" e, em seguida, é impressa no console utilizando "System.out.println(response.body())".
Espero ter esclarecido suas dúvidas! Se tiver mais alguma pergunta, estou aqui para ajudar."
Todavia, não estava muito claro a usabilidade e aplicabilidade destes códigos/classes/chameComoQuiser. Então, novamente pedi à Luri exemplos e aplicabilidade. O resultado foi este:
"Claro! Vou te mostrar alguns exemplos simples para que você possa entender melhor a aplicabilidade dos códigos utilizados:
- Requisição GET básica:
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.example.com/data"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
Nesse exemplo, estamos fazendo uma requisição GET para o endpoint "https://api.example.com/data" e imprimindo a resposta no console.
- Requisição POST com corpo JSON:
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.example.com/data"))
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString("{\"name\":\"John\",\"age\":30}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
Nesse exemplo, estamos fazendo uma requisição POST para o mesmo endpoint, porém estamos enviando um corpo JSON com os dados de uma pessoa. A resposta também é impressa no console.
Esses são apenas exemplos básicos, mas a classe HttpClient e a interface HttpRequest oferecem muitas possibilidades para realizar diferentes tipos de requisições HTTP, como PUT, DELETE, HEAD, etc. Além disso, você pode configurar headers, autenticação, timeouts e muito mais.
Espero que esses exemplos tenham ajudado a compreender melhor a aplicabilidade dos códigos utilizados. Se tiver mais dúvidas, é só perguntar!"
Gostaria de compartilhar isso aqui no fórum no intuito de ajudar quem passa por essa mesma situação.
E finalmente, minhas perguntas são:
- O código será sempre o mesmo neste tipo de situação/requisição? (Mesmo em outros projetos)
- Se é algo que há de se repetir tantas vezes, existe alguma forma de encurtar, comprimir ou mesmo melhorar a legibilidade do código de uma forma mais rápida, intuitiva e moderna? (Algum Framework Talvez)
Gostaria de uma resposta sincera e humana. Desde já, meus agradecimentos.