Spring boot Spring WebFlux和WebClient更改错误响应

Spring boot Spring WebFlux和WebClient更改错误响应,spring-boot,spring-webflux,spring-webclient,Spring Boot,Spring Webflux,Spring Webclient,我有一些控制器方法,比如 @PostMapping("/*") fun proxy(@RequestBody body: String): Mono<ByteArray> { return roundRobinBean.getNext() .post() .uri("/api") .body(BodyInserters.fromObject(body)) .retrieve() .bodyToMo

我有一些控制器方法,比如

@PostMapping("/*")
fun proxy(@RequestBody body: String): Mono<ByteArray> {
    return roundRobinBean.getNext()
        .post()
        .uri("/api")
        .body(BodyInserters.fromObject(body))
        .retrieve()
        .bodyToMono<ByteArray>()
        .doOnSuccess{
            threadPool.submit(PutToCacheJob(body, it, cacheBean))
        }
        .doOnError{
            logger.error(it.message, it)
        }
}
roundRobinBean返回某些主机的WebClient。若我得到连接超时异常或500响应,我需要调用另一个主机或从缓存返回数据。是否有用于更改内部数据的处理程序?

您可以使用运算符,以便在出现错误时定义回退