我是弹起反应性卡桑德拉的新手,无法弄清楚如何迭代助焊剂。我有从服务式存储库(是POJO成员的Flux)中提取数据的服务,然后我想将其转换为Map,这是我的代码
@Slf4j
@Service
public class idLookupServiceReactive {
@Autowired
private final IdReactiveRepository repository;
public List<String, String> getIdsByMids(List<Identifier> identifiers) {
List<String> mids =
identifiers.stream().map(Identifier::getMid).collect(Collectors.toList());
Map<String,String> midToAidMap = Maps.newHashMap();
repository
.findAllById(mids)
.log()
.map(member -> midToAidMap.put(member.getMid(), member.getAid()))
.subscribe();
return midToAidMap;
}
}
public interface IdReactiveRepository<Member, String> extends
ReactiveCassandraRepository<Member, String> {
@Override
Flux<Member> findAllById(Iterable<String> iterable);
}
存储库返回Member的Flux,我想创建一个中间图以帮助Flux。但是它不能在这一行编译:
.map(member -> midToAidMap.put(member.getMid(), member.getAid()))
似乎无法识别变量member
是POJO成员,因此它无法理解member.getMid()
和member.getAid()
方法。我如何获得地图? Flux不是会员列表吗?