【发布时间】:2019-05-08 07:44:42
【问题描述】:
在使用 Kotlin 时,我想添加包定义的常量作为序列化类属性的前缀。杰克逊是兄弟,所以我写了这个:
var prop: String = ""
@JsonGetter(value = "prop")
get() = PREFIX + field
它工作得很好,所以为了简洁起见,我决定用委托属性替换它:
@get:JsonGetter(value = "prop") var prop: String by PrefixedProperty()
...
class PrefixedProperty(var field: String = "") {
operator fun getValue(blah blah) = PREFIX + field
...
}
然后 BOOM——我的财产消失了。
看来,prop 的委托 getter 没有应用注释。是否有可能实现所需的行为?
【问题讨论】:
标签: kotlin jackson annotations jvm