簡體   English   中英

Mapstruct:將對象內部的列表映射到對象列表

[英]Mapstruct: Map a list inside an object to a list of objects

鑒於:

public class Car {
  private String plate;
  private List<String> tires;
}

public class TirePlate {
  private String plate;
  private String tire;
}

我想將所有Car.tires映射到單獨的TirePlates。 我知道我可以將List<String>List<tires>映射器,但是如果這樣做,那我會丟掉盤子。

我怎么把盤子放在那里?

你可以做的是創造名單,將獲得一個自定義映射器plate ,然后你會從一個自定義的方法映射platetireTirePlate

例如:

@Mapper
public interface TireMapper {

    CarDto map(Car car);

    default List<TirePlate> map(List<String> tires, String plate) {
        List<TirePlate> tirePlates = new ArrayList<>(tires.size());

        for(String tire: tires) {
            tirePlates.add(map(tire, plate));
        }
        return tirePlates;
    }

    TirePlate map(String tire, String plate);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM