使用mapstruct将一个嵌套的DTO对象映射到一个单项列表中。

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

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

下面是总体思路(Kotlin中)。

DTO(源):

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

Target:

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

其中目标中的name应该只有一个项目:转换后的NameDto。

我知道我可以做这样的事情。

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

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

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

我已经尝试了好几个小时来解决这个问题,但没有任何进展。任何帮助都将是非常感激的。

spring spring-boot kotlin mapstruct
1个回答
0
投票

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

参考这个链接的语法。https:/mapstruct.orgdocumentationdevreferencehtml#basic-mappings。

© www.soinside.com 2019 - 2024. All rights reserved.