如何解决在弹簧反应器中将<Mono <T >>输送到通量<T>
假设我有ProductSupplier
,该ID允许按ID获取产品。但是它有限制,并且每个请求您只能加载一种产品。
public interface ProductSupplier {
public Mono<Product> getById(Long productId);
}
现在我正在写ProductService
,在其中我需要按ID提取产品列表
public interface ProductService {
ProductSupplier supplier;
public Mono<List<Product>> getByIds(Collection<Long> ids) {
return ids.stream()
.map(supplier::getById)//Stream<Mono<Product>>
//how to get Flux<Product> here?
.collectList();
}
}
解决方法
您可以直接使用流量而不是流:
Flux<Product> flux = Flux
.fromIterable(ids)
.flatMap(supplier::getById);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。