JavaSpring引导:如何返回一个列表而不是一个结果?

JavaSpring引导:如何返回一个列表而不是一个结果?,java,mysql,spring,spring-boot,mapstruct,Java,Mysql,Spring,Spring Boot,Mapstruct,我是Java新手,使用Spring引导框架。我已经实现了一个小方法,该方法给定transactionId,就会给出具有该transactionId的所有对象的列表。我只是在管理ServiceImpl中的列表时遇到问题。因为我无法取回一个列表而不是一个结果。如果映射程序正在为实体的单个实例工作,您只需迭代实体集合,然后一次映射一个实体。或者使用Java8流: List<StoredMessageModTrackEntity> entityList = repo.findAllByTra

我是Java新手,使用Spring引导框架。我已经实现了一个小方法,该方法给定transactionId,就会给出具有该transactionId的所有对象的列表。我只是在管理ServiceImpl中的列表时遇到问题。因为我无法取回一个列表而不是一个结果。

如果映射程序正在为实体的单个实例工作,您只需迭代实体集合,然后一次映射一个实体。或者使用Java8流:

List<StoredMessageModTrackEntity> entityList = repo.findAllByTransactionId(transactionId);
return entityList.stream().map(mapper::toDtoMapper).collect(Collectors.toList());

映射器正在为单个实体工作?您面临的问题是什么?哪个类无法返回列表?你好,dpr!我试图实现你的代码,但一直只给我一个元素,为了安全起见,我还插入了控制器,因为这可能是问题所在。你试过调试你的代码吗?最简单的方法是添加一些调试输出。如果列表中有多个元素,上述代码将映射所有元素。
Optional.ofNullable(entityList).filter(Objects::nonNull)
    .map(list -> list.stream().map(mapper::toDtoMapper)
    .collect(Collectors.toList())).orElse(null);