Bonjour,
j'ai essayer d’envoyer une requête get pour afficher le body dans le terminale en mode synchrone sa marche tandis qu'en mode asynchrone je ne reçois rien.
merci de votre aide

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.util.concurrent.Flow;
 
public class main {
    public static void main(String[] args) throws IOException, InterruptedException {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create("https://www.example.com/"))
                .method("GET",HttpRequest.BodyPublishers.ofString(""))
                .version(HttpClient.Version.HTTP_2)
                .build();
        /*HttpResponse<String> response =
        client.send(request, HttpResponse.BodyHandlers.ofString());
        System.out.println("Status  : " + response.statusCode());
        System.out.println("Headers : " + response.headers());
        System.out.println("Body    : " + response.body());*/
        client.sendAsync(request, HttpResponse.BodyHandlers.ofString()).thenAccept(response -> {
            System.out.println("Status  : " + response.statusCode());
            System.out.println("Headers : " + response.headers());
            System.out.println("Body    : " + response.body());
        });
 
    }
}