【问题标题】:How to use different typemap for the same ModelMapper如何为同一个 ModelMapper 使用不同的类型映射
【发布时间】:2021-11-03 12:28:17
【问题描述】:

我正在使用 ModelMapper 将实体转换为 dto,但我们有一个要求,多个消费者将使用相同的端点。所以,我们必须根据消费者来限制字段。

例如:

Consumer 1 -> fullName, aadharNo, other details...
Consumer 2 -> fullName, passportNo, other details...
Consumer 3 -> fullName, drivingLicenceNo
Consumer 4-> All fields


public class Student {
    private String fullName;
    private String aadharNo;
    private String passportNo;
    private String drivingLicenceNo;
    private String age;
    private String schoolName;
    private String collegeName;
    private String grade;
    private String schoolMark;
}

public class StudentDto {
    private String fullName;
    private String aadharNo;
    private String passportNo;
    private String drivingLicenceNo;
    private String age;
    private String schoolName;
    private String collegeName;
    private String grade;
    private String schoolMark;
}

我试图为同一个模型映射器实现多个 typeMap,但一旦它在模型映射器中定义,就无法覆盖它。

示例 PropertyMap:

   PropertyMap<Student , StudentDto> skipModifiedFieldsMap = new PropertyMap<Student , StudentDto>() {
      protected void configure() {
         //skip().setAadharNo(null);
     }
   };

您能否建议一些实现它的好方法。任何图书馆都可以。

【问题讨论】:

    标签: java json jackson modelmapper


    【解决方案1】:

    您尝试使用conditional mapping 吗?

    这将允许您为不同的消费者创建不同的条件并相应地进行映射。

    【讨论】:

      猜你喜欢
      • 2015-08-02
      • 2022-10-23
      • 1970-01-01
      • 2020-04-06
      • 2019-10-27
      • 2010-11-03
      • 1970-01-01
      • 2014-09-23
      • 1970-01-01
      相关资源
      最近更新 更多