我想知道是否可以使用另一个映射器将相同的对象映射到不同的结果对象?
例如:
data class UserDto (
val name: String,
val surname: String,
val city: String,
val street: String
)
@Mapper(componentModel="spring", uses=[PersonalDataMapper:class, AddressMapper::class])
interface UserMapper {
fun mapToModel(user: UserDto):User
}
// in another file
data class User(val personalData: PersonalData, val address: Address)
@Mapper
interface AddressMapper {
fun mapToAddress(user: UserDto): Address
}
@Mapper
interface PersonalDataMapper {
fun mapToPersonalData(user: UserDto): PersonalData
}
当然实际上我的情况更复杂,我有更多的属性要映射,这只是示例。 我检查了映射器的实现和属性,填充为空,它不使用外部映射器来映射“personalData”和“address”。
那么可以这样做吗?