spring - 使用 mapstruct 将嵌套的 DTO 对象映射到单个项目列表
问题描述
我有一个带有嵌套对象的 DTO,我需要将其转换为列表。
这是总体思路(在 Kotlin 中):
DTO(来源):
class PersonDto {
var name: NameDto,
var otherField: String
}
目标:
class Person {
var name: List<Name>,
var otherField: String
}
其中目标中的名称应该只有一项:转换后的 NameDto。
我知道我可以做这样的事情:
fun nameDtoToNameList(nameDto: NameDto) : List<Name> {
// a bunch of manual code to do the conversion
}
但我很想知道是否可以自动进行转换。
理想情况下,会有一个解决方案可以使用 nameDtoToName 函数,该函数将在 NameMapper 接口中实现。
几个小时以来,我一直试图弄清楚如何做到这一点,但没有得到任何结果。任何帮助将非常感激。
解决方案
您可以在字段上指定 @Mapping 并将映射设置为name.get(0)
.
请参阅此链接了解语法:https ://mapstruct.org/documentation/dev/reference/html/#basic-mappings
推荐阅读
- java - Appium(Java):如何在后台创建读卡进程并同时验证显示的android屏幕
- python-3.x - 为什么我的程序接受用户输入的次数不超过两次?
- python - 如何在 OpenCV 中做这个视差图
- python - 即使在我完全关闭防火墙后,防火墙也不允许我的 python 客户端应用程序连接到我的机器上运行的服务器
- javascript - 在公牛队列中运行队列组
- javascript - 我如何抓取文本并将它们按特定顺序放置?
- database - 是否有有效的加密数据结构支持范围搜索但不显示顺序
- c# - 有没有办法从一组平铺图像中批量创建平铺资产?
- sql-server - 在列中存储是、否、'N/A'
- php - 用于设置 CSS 类的多个“或”语句的语法