【发布时间】:2021-10-25 15:59:23
【问题描述】:
是否可以在@Mapping注解中表达Kotlin表达式?
(简化的)问题如下:
我有这个数据类:
data class Data (
val myClass: MyClass
)
和:
data class DataDto (
myString: String
)
fun String.toMyClass() = ...
目前我想做这样的事情:
@Mapper
interface RefDataMapper {
@Mapping(expression = "kotlin(myString?.toMyClass())", target = "myClass")
fun toDomain(dataDto: DataDto) : Data
}
目前看来,表达式只能用 Java 编写,因此上述解决方案不起作用。有可能做我想做的事吗?
注意我无法使用装饰器,因为在 Data 类中,此属性设置为 val,因此,我只能在实例化期间设置此属性。
【问题讨论】: