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响应,我需要调用另一个主机或从缓存返回数据。是否有用于更改内部数据的处理程序?您可以使用运算符,以便在出现错误时定义回退