Я сейчас работаю с Flux
. Я хочу создать один Flux<Result>
из двух разных объектов Flux
. Я знаю, что должен использовать BiFunction
, но я не знаю как.
Первый объект имеет PK и второй FK для первого объекта. Я хочу, чтобы zip тот объект, который PK = FK.
Описание проблемы:
У меня есть случай на работе, где у меня есть список домов и список, в котором я был. Мне нужно вернуть результат со всеми домами, я только поменяю флаг true / false на объекте Result. Второй список, конечно, может иметь меньше элементов.
Кто-нибудь может предложить что-то подобное или каким-либо другим способом?
@RunWith(SpringRunner.class)
@SpringBootTest
public class WholesaleControllerTest {
@Test
public void testZipFlux() {
Flux<Flux1> flux1 = Flux.just(new Flux1(1, "test1"), new Flux1(2, "test2"), new Flux1(3, "test3"));
flux1.subscribe(item -> System.out.println("Flux1 " + item));
Flux<Flux2> flux2 = Flux.just(new Flux2(2, true), new Flux2(1, false), new Flux2(3, true));
flux2.subscribe(item -> System.out.println("Flux2 " + item));
Flux<Result> = ...//TODO zip flux1 and flux2 to RESULT
}
@Getter
@Setter
@AllArgsConstructor
class Flux1{
private int id;
private String value;
}
@Getter
@Setter
@AllArgsConstructor
class Flux2{
private int id_fk_flux2;
private boolean value;
}
@Getter
@Setter
@AllArgsConstructor
class Result{
private int id;
private String flux1Value;
private boolean flux2Value;
}
}