Na aula, o professor fez uma conexão assíncrona com o HttpClient e exibiu o retorno na tela com System.out.
Tentei fazer o mesmo, mas o retorno não é exibido.
Segue o código:
CompletableFuture<HttpResponse<String>> retorno = client.sendAsync(request, HttpResponse.BodyHandler.asString())
.whenComplete((response, message) -> System.out.println("RESULTADO ASSÍNCRONO: " + response.body()));
Procurando na Internet, encontrei esse exemplo de conexão assíncrona e gostaria de saber se o mesmo funciona de modo similar ao que foi ensinado na aula:
client.sendAsync(request, HttpResponse.BodyHandler.asString())
.thenApply((response) -> response.body())
.thenAccept((retorno) -> System.out.println("*****\nRESULTADO ASSÍNCRONO: " + retorno))
.join();
Link de onde peguei o exemplo: https://openjdk.java.net/groups/net/httpclient/intro.html
Obs.: eu rodei com esse código que peguei na internet e funcionou corretamente. Apenas gostaria de saber se dessa forma eu garanto o modo assíncrono, tratando o retorno em thenAccept().
Bem, é isso.
Obrigado desde já pessoal.