来自 findAll 的 RxJava 对象为空

问题描述

我正在使用 RxJava2CrudRepository 从使用 findAll 方法的表中检索记录。

findAll 返回一个 Flowable<T> findAll();

这是我得到的。

@Override
public Flowable<Response> findByField(
      String contract,String code) {

supplier<Flowable<Response>> response=
      () -> productRepository.findAll()
            .toList()
            .toFlowable();

 //Some more logic to return final object
}

此时一切正常,我从数据库获取记录。

我需要迭代 response 以对数据执行一些逻辑。当我使用 forEach 运行时,我从每条记录中获取值。即:

response.get().forEach(m -> {
  System.out.println("Value: " + m.getProductCode());
});

输出

value: VAL1
value: VAL2
value: VAL3
...

但是当我尝试将这些值分配给 java bean 时,输出总是 null

Set<Response> headerReponse = new HashSet<>();

response.get().forEach(m -> {
  Response response = new Response();
  response.setServiceCode(m.getServiceCode());
  response.setLegalDocumentNumber(m.getDocumentNumber());
  response.setorganizationCompleteName(m.getorganizationName());
  headerReponse.add(response);
});
System.out.println(Util.printAsJson(headerReponse));

输出

[]

我正在尝试将响应的数据结果添加set,这就是我进行迭代的原因。我不知道我错过了什么,或者我的方法是否错误

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)