vitya_brodov
@vitya_brodov
Java dev

Как пере использовать WebClient?

>80% проекта состоит из http запроса (GET, POST)
для запроса использую WebClient.
почти в каждом сервисе дублируется один и тот же код с разницей GET и POST(если POST, то еще надо передавать объект)
вопрос: Можно ли как-то это все сделать по уму?

пример кода:
public Example getExample(String name, int pin) {
        try {

            return  client.get()
                    .uri(URI + name + "&" + pin)
                    .accept(MediaType.APPLICATION_JSON)
                    .retrieve()
                    .bodyToMono(Example.class)
                    .block();

        } catch (Exception exception) {
            log.error("Причина ошибки: {}", exception.getMessage());
            throw new PartnerException(exception.getMessage());
        }
    }


public void subscribeForNotification(String account){
        try {
            client.post()
                    .uri("mock.io")
                    .body(BodyInserters.fromFormData("command", "subscribe")
                            .with("account", account))
                    .retrieve()
                    .bodyToMono(SubscribeDto.class)
                    .block();
            log.info("{}: подписка успешно оформлена!", account);
        }catch (Exception e){
            log.error("Can`t share account {}", account);
        }
    }


public Object pay( PaymentInfo info) {
        
        try {
            return client.post()
                    .uri(properties.getPayUrl())
                    .bodyValue(info)
                    .retrieve()
                    .bodyToMono(Info.class)
                    .block();
        } catch (Exception exception) {
            log.error("Не удалось сделать запрос на оплату {}", exception.getMessage());
            throw new PartnerException(exception.getMessage());
        }
    }
  • Вопрос задан
  • 125 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы