Посмотрите на этот пример. Вы можете использовать flatMapIterable
для преобразования моно списка в Flux.
Mono.just(List.of(1,2,3))
.flatMapIterable(Function.identity())
.filter(i -> i != 1)
.collectList()
.subscribe(s -> System.out.println(s)); //prints [2,3]
Для последующего вопроса. Нам нужно использовать .handle
, который является комбинацией методов map и filter.
Flux.fromIterable(List.of(1, 2, 3))
.handle((number, sink) -> {
if (number != 1) {
sink.next(number);
}
})
.collectList()
.subscribe(s -> System.out.println(s));
Если вы действительно хотите go с вашим подходом, то нам нужно отфильтровать как это
Flux.fromIterable(List.of(1, 2, 3))
.flatMap((number) -> number == 1 ? Flux.empty() : Flux.just(number))
.collectList()
.subscribe(s -> System.out.println(s));