我有这样的弦通量field1=value1,terminalField=true,field2=value2,field3=value3,terminalField=true
我想基于这样的特定分隔符拆分成较小的字符串field1=value1
,terminalField=true
,...
并发射到另一个磁通量中,最终目的是发射一个累积所有场直到terminalField=true
的对象,以便磁通量包含object(field1=value1, terminalField=true)
,object(field2=value2, field3=value3, terminalField=true)
。
我看过各种运算符,但是我是Reactor的新手,因此在外观上有些挣扎。任何帮助将非常感激。
最佳答案
我认为Flux#flatMapIterable operator是您想要的。
用逗号将其分隔,然后使用Flux#windowUntil operator将其转换为Flux<Flux<String>>
,其中每个内部Flux
将是键值对的流,直到终止为止。
然后由您决定如何将内部通量转换为对象。您可以使用Flux#collectMap operator和.map
或其他收集/减少运算符。