Mapstruct忽略方法生成

问题描述 投票:1回答:1

在此代码示例中,有没有方法使用mapstruct忽略第三种方法的映射器的生成?

@Mapper(unmappedSourcePolicy = ReportingPolicy.IGNORE, unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface EmployeeMapper {

   EmployeeMapper MAPPER = Mappers.getMapper( EmployeeMapper.class );

   @Mapping(source = "id", target = "id")
   @Mapping(source = "firstName", target = "firstname")
   @Mapping(source = "surname", target = "surname")
   @Mapping(source = "employmentses", target = "employmentDTOList")
   EmployeeDTO employee2dto(Employees employees);

   @Mapping(source = "id", target = "id")
   @Mapping(source = "firstName", target = "firstname")
   @Mapping(source = "surname", target = "surname")
   @Mapping(target = "employmentDTOList", ignore = true)
   EmployeeDTO domainView2dto(EmployeeView employeeView);

   //to be ignored by Mapstruct
   EmployeePageDTO domainPage2dto(Page<EmployeeView> employeeViewPage);

}
methods ignore mapstruct
1个回答
1
投票

您可以按照here所述在接口内简单地定义默认方法:

@Mapper(unmappedSourcePolicy = ReportingPolicy.IGNORE, unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface EmployeeMapper {

   EmployeeMapper MAPPER = Mappers.getMapper( EmployeeMapper.class );

   //.....

   //to be ignored by Mapstruct
   default EmployeePageDTO domainPage2dto(Page<EmployeeView> employeeViewPage) {
       //.... insert body here
   }
}
© www.soinside.com 2019 - 2024. All rights reserved.