【问题标题】:Mapstruct - Convert Object who contains and interface into himselfMapstruct - 将包含和接口的对象转换为自己
【发布时间】:2019-01-21 09:06:31
【问题描述】:

我正在使用 mapstruct 将一个对象转换为另一个对象。 进入要转换的对象,有一个接口,而 mapstruct 不喜欢那样。

通过实现方法的默认值并指定要调用的实现,我能够将接口转换为对象:

public default MessagesList interfaceMapping (Integer not, List<MessageEntity> list) {

    return messToImpl(numNotification, list);
}

现在的问题是我不知道如何做类似的事情,这不是一种解决方法,将一个内部对象转换为接口。

【问题讨论】:

    标签: java spring dto mapstruct


    【解决方案1】:

    只要找到一个为单个对象映射实现自定义代码的好方法:

    @Mapping(target = "sender", expression = "java(new YourClass(null, messageEntity.getSenderType(), messageEntity.getSenderID(), messageEntity.getSenderContact()))")
    

    这样,通过表达式可以定义自定义代码,仍然使用mapstruct定义。

    以防万一您可能需要导入未定义为源或目标的类,只需记住将类注释如下,以允许 mapstruct 导入所需的类:

    @Mapper(imports = YourClass.class)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-06
      • 2021-06-02
      • 2018-01-24
      • 2016-08-02
      相关资源
      最近更新 更多