【问题标题】:Map a nested DTO object to a single item list using mapstruct使用 mapstruct 将嵌套的 DTO 对象映射到单个项目列表
【发布时间】:2020-09-20 08:35:49
【问题描述】:

我有一个带有嵌套对象的 DTO,我需要将其转换为列表。

这是一个总体思路(在 Kotlin 中):

DTO(来源):

class PersonDto {
    var name: NameDto,
    var otherField: String
}

目标:

class Person {
    var name: List<Name>,
    var otherField: String
}

target 中的 name 应该只有一项:转换后的 NameDto。

我知道我可以这样做:

fun nameDtoToNameList(nameDto: NameDto) : List<Name> {
     // a bunch of manual code to do the conversion
} 

但我很想知道是否可以自动进行转换。

理想情况下,会有一个解决方案可以使用 nameDtoToName 函数,该函数将在 NameMapper 接口中实现。

几个小时以来,我一直试图弄清楚如何做到这一点,但没有得到任何结果。任何帮助将不胜感激。

【问题讨论】:

    标签: spring spring-boot kotlin mapstruct data-transfer-objects


    【解决方案1】:

    您可以在字段上指定@Mapping,并将映射设置为name.get(0)

    请参阅此链接了解语法:https://mapstruct.org/documentation/dev/reference/html/#basic-mappings

    【讨论】:

      猜你喜欢
      • 2016-10-14
      • 2019-12-25
      • 1970-01-01
      • 2020-07-07
      • 2019-12-06
      • 1970-01-01
      • 1970-01-01
      • 2021-06-10
      • 1970-01-01
      相关资源
      最近更新 更多