【发布时间】:2022-02-05 01:17:45
【问题描述】:
如果url1返回许多结果但url2返回404,以下代码会导致一个空列表。如何正确忽略错误并继续url1的成功响应?
Set<String> list = new HashSet<>();
Mono<String> first = WebClient.create(url1)
.get()
.retrieve()
.bodyToMono(String.class)
.onErrorResume(e -> {
return Mono.empty();
});
Mono<String> two = WebClient.create()
.get()
.retrieve()
.bodyToMono(String.class)
.onErrorResume(e -> {
return Mono.empty();
});
Flux.zip(first, two)
.doOnComplete(() -> System.out.printf("done: %d\n", list.size()))
.subscribe(
responses -> {
for (Object response : responses) {
String[] lines = ((String)response).split("\n");
for(String line : lines) {
list.add(line);
}
}
}
);
【问题讨论】:
标签: java spring-boot spring-webflux spring-webclient