нужно или норм? 
                  
                  
                  Mono<ClientResponse> resp = responce.flatMap(response -> {
                  
                  
                              if (!response.statusCode().is2xxSuccessful()) 
                  
                  
                  return Mono.error(new Exception(response.statusCode().toString()));
                  
                  
                              return Mono.just(response);
                  
                  
                          });
                  
                  
                  
                  
                  
                  
                  
                  
                  resp.subscribe(
                  
                  
                                  success -> {
                  
                  
                                      try {
                  
                  
                                          success.bodyToMono(NewsJsonWraper.class)
                  
                  
                                          .subscribe(i -> i.getNews().forEach(System.out::println));
                  
                  
                                      } catch (Exception e) {
                  
                  
                                          LOGGER.error("Parse error "+e);
                  
                  
                                      }
                  
                  
                                  },
                  
                  
                                  error -> {
                  
                  
                                      LOGGER.error("API returns error response "+error);
                  
                  
                                  });
                  
                  
                      }
                  
                  
                  меня сильно смущает часть где из sucsess мы получаем опять mono чтобы подписаться и сделать bodyToMono... мне кажется это можно как-то упростить, но не пойму как
                  
                  
                
bodyToMono(NewsJsonWraper.class) надо было делать в первом flatMap
ну и соответственно не уверен насчет трай кэтч в сабскрайбе для парсинга json, там же метод не кидает чекед, значит в случае помещения его во флэтмэп до сабскрайба, если будет ошибка, она будет в error коллбэке
Обсуждают сегодня