当前位置: 首页 > 知识库问答 >
问题:

如何定义源和目标时转换列表列表在mapstruct?

赵高雅
2023-03-14

我正在尝试转换列表

@Mapper
public interface CarMapper {

     @Mappings({
            @Mapping(source = "carDetailDetail.model", target = "model")
        })
    List<CarDto> carsToCarDtos(List<Car> cars);


}

共有1个答案

衡安晏
2023-03-14

MapStruct不支持您正在查找的内容,已经有一个开放的功能请求,请查看#1149。

然而,为了实现这一点,您需要在一个方法上定义您的映射,该方法介于Car和CarDto之间,然后MapStruct将使用该方法来执行映射。

您的映射器如下所示:

@Mapper
public interface CarMapper {

    @Mapping(source = "carDetailDetail.model", target = "model")
    CarDto carToCarDto(Car car);

    List<CarDto> carsToCarDtos(List<Car> cars);       
}

如果您不想公开一个公共的carToCarDto方法,可以使用一个抽象类,使该方法受保护或包受保护。

 类似资料:
  • 问题内容: 如果我有一个,如何通过使用Java 8的功能将其转换为以相同的迭代顺序包含所有对象的? 问题答案: 你可以用于将内部列表(将它们转换为Streams之后)展平为单个Stream,然后将结果收集到列表中:

  • 在我的Spring Boot项目中,我有两个类(实体和模型) 在模型中有一个列表 :

  • 问题内容: 我是Python的新手,需要将列表转换为字典。我知道我们可以将元组列表转换为字典。 这是输入列表: 并且我想将此列表转换为元组列表(或直接转换为字典),如下所示: 我们如何在Python中轻松做到这一点? 问题答案: 您想一次将三个项目分组吗? 您想一次分组N个项目吗?

  • 我们如何转换列表 示例:列表 这里的名称和名称都是LinkedHashmap键。如果你在IDE中复制下面的片段,你可以更好地理解这个列表 需要转换以上列表 预期输出:

  • Vavr似乎解决了我的一个问题,一些方法进行了大量检查,并返回CalculationError或CalculationResult。 我有一个存储错误和结果的包装器 是否有任何简洁的解决方案来转换来自集合的流

  • 我正在尝试将列表拆分为列表列表,其中每个列表的最大大小为4。 我想知道如何使用lambdas做到这一点。 目前我的做法如下: 更新 似乎没有一种简单的方法可以使用lambdas来拆分列表。虽然所有的答案都很受欢迎,但它们也是一个很好的例子,说明lambdas不能简化事情。