我们最近开始将 Spring WebMVC 代码重构为 WebFlux,用 WebClient 替换 RestTemplate。
从外部 Web 服务器,我们收到一个对象(产品)的平面列表,每个对象都包含对父对象的引用:
webClient
.get()
.uri(productURI)
.retrieve()
.bodyToFlux(Product.class)
我们现在将此产品列表转换为树状结构,由少数根产品(作为列表)和每个根产品下方分层结构中的许多子产品组成。
在之前的代码中,转换很容易完成,因为我们最终得到了完整的平面列表,我们从中创建了一个新的结果列表。
对于反应流,我很困惑如何将原始的 Flux of Products 转换为完全不同的结构。