2017-12-12 5 views
0

List<car>からList<CarDto>に変換しようとしていますが、 mapstructのmap sourceとtarget属性に変換できません。私はCarDtoに車を変換するが、そのはlist<car>オブジェクトList <DomainObject>をmapstruct内のリスト<DTO>に変換するときに、ソースとターゲットを定義する方法は?

@Mapper 
public interface CarMapper { 

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


} 

答えて

2

で に動作していないときMapStructではサポートされていませんあなたが探している、それのためのオープンな機能要求が既に存在する細かい作業 マッピングをソースとターゲット、#1149をご覧ください。

CarCarDtoの間のメソッドでマッピングを定義する必要がある場合、MapStructはそのメソッドを使用してマッピングを実行します。あなたは、抽象クラスを使用し、方法protectedまたはpackage protectedを作ることができる公共carToCarDto方法を公開したくない場合は

@Mapper 
public interface CarMapper { 

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

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

あなたのマッパーは、次のようになります。

+0

ありがとうございました:) –

関連する問題