网络客户端在响应为空时在 Mono 上重试

问题描述 投票:0回答:0

我想在带有 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);
java spring spring-webflux webclient project-reactor
© www.soinside.com 2019 - 2024. All rights reserved.