我想在带有 WebClient 的 WebFlux 中的 Mono 上实现条件重播。情况如下:
我从外部服务调用一个铭文 api,该服务进行处理然后将数据保存在其数据库中
之后我调用另一个 api 来搜索此数据,这里的问题是 api 返回 null,因为在数据保存到数据库之前调用了搜索 api
spi.inscription(request).flatMap(el -> spi.search(requestBody).map(rs -> {....});
所以我想当 api 返回 null 时,我会重新调用直到它返回结果
webClient.post()
.uri("search")
.bodyValue(requestBody)
.retrieve()
.onStatus(HttpStatus::isError, ERROR_HANDLER::handleError)
.bodyToMono(SearchResponse.class);