我想使用WebClient
from spring webflux 执行以下操作:
称呼endpoint1
如果它失败并出现预期错误,那么
打电话endpoint2
和
只重试endpoint1
一次
我已经做到了这一点:
webclient.get()
.uri("/endpoint1")
.retrieve()
.bodyToFlux(MyBody.class)
.retry(error -> {
if (error == expectedError) {
webclient.get()
.uri("/endpoint2")
.retrieve().block();
return true;
} else {
false;
});
请求时我无法阻止,endpoint2因为我会收到以下错误:(block()/blockFirst()/blockLast() are blocking, which is not supported in thread我也不想阻止)。
也许我应该使用retryWhen,但我不确定如何使用它。
慕尼黑5688855
相关分类