Как мне обработать Flux <Object>, возвращаемый webflux на стороне клиента в виде простого кода Java - PullRequest
0 голосов
/ 18 июня 2019

Я написал веб-сервис, использующий пружинные webflux и реактивные соединители mongodb, но моя клиентская сторона могла бы быть не основанной на пружине клиентской. Итак, как мне написать простой Java-код для использования flex на стороне клиента?

ServerSide код:

    @GetMapping(value = "/findAll")
    public Flux<Security> findAll() {
        Flux<Security> flux = service.findAll();
        return flux;
    }

Код на стороне клиента:

 public static void sendRequest() {
            try {

            long start = System.currentTimeMillis();
            for (int i = 0; i <= 100; i++) {
                long start1 = System.currentTimeMillis();
                URL url = new URL("http://localhost:8080/findAll/");
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                conn.setRequestMethod("GET");
                conn.setRequestProperty("Accept", "application/stream+json");

                if (conn.getResponseCode() == 200) {
                    // url = new URL("http://localhost:8182/status/");

                    String json = "";
                    try (BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())))) {
                        json = br.lines().collect(Collectors.joining());
                    }

                    conn.disconnect();
                    System.out.println("size of each Security: " + json.length());

                    ArrayList<Security> list = getListOfsecurities(json);
                    System.out.println(list.get(0).getIsin());

                }
            } 

Приведенная выше клиентская часть дает мне пустой массив.

1 Ответ

0 голосов
/ 19 июня 2019

Я не думаю, что это возможно.Это асинхронный ответ. По крайней мере, вы должны использовать Java 5 Futures для вызова асинхронного ответа.

...