Как можно использовать Mono.error(<Throwable>)
, но прикреплять информацию из тела, полученного из запроса?
- Есть ли реактивный объект, который расширяет
Throwable
, который принимает объект Mono / Flux, поэтому выбрасываемая ошибка будет ждать, пока тело будет учтено?
- Или есть способ добавить какой-нибудь «флаг» к существующему объекту Mono, чтобы он мгновенно потерпел неудачу (чтобы обойти требование
Throwable
)
Пример сценария ниже:
import org.springframework.web.reactive.function.client.WebClient;
private someMethod() {
webClient.get().retrieve().onStatus(HttpStatus::isError, this::errorHandler)
}
private Mono<? extends Throwable> errorHandler(ClientResponse cr) {
Mono<String> body = cr.body(BodyExtractors.toMono(String.class));
...<do something here>...
return Mono.error(new WhateverException());
}
Спасибо