将 Mono<List<PojoA>> 转换为 List<PojoB>

Convert the Mono<List<PojoA>> to List<PojoB>

我有一个 Mono<List<PojoA>> 对象。我需要迭代 PojoA and 的列表形成一个新的 List<String>

    public List<String> getImageList() {
    
        Mono<List<PojoA>> pojoAListMono = someMethod();
        List<String> list = new ArrayList<String>();
    
        pojoAListMono.flatMapMany(imageList -> {
          imageList.stream().forEach(image -> list.add("/images/" + image.getImageName()));
        });
      }

您要求做什么(从流到对象列表) 不建议,因为您失去了反应(异步)转换为阻塞状态的能力。

但你肯定能做到 using.block() 下面是一个

            public List<String> getImageList() {
               return someMethod()
               .flatMapIterable(pojoAS -> pojoAS)
               .map(pojoA -> "/images/"+pojoA.getImageName())
               .collectList()
               .block();
            }