使用MapStruct使用默认值的Kotlin数据类



我有一个带有默认值的kotlin数据类,当我尝试使用MapStruct映射它时,它在运行时会抛出一个错误,因为它将尝试为具有默认值的属性的不可为null的类型分配null值。我知道在@Mapping注释中分配默认值,但MapStruct有没有办法考虑数据类的默认值,而不是我必须这样做两次?

下面是一个例子:

data class A(val property1: String = "prop 1", val property2: String)
data class B(val property2: String)
@Mapper
interface SomeMapper {
...
fun mapBtoA(b: B): A
}
val b = B("prop 2 val")
val a: A = SomeMapper.INSTANCE.mapBtoA(b)

在上面的示例中,它将尝试将null分配给property1,而不是prop1的默认值。

我遇到了同样的问题,你需要使用var而不是val

相关内容

  • 没有找到相关文章

最新更新