Jackson与Kotlin混合

我正在尝试使用Jackson mixin忽略外部Kotlin数据类的属性,但到目前为止,它并不适用于我。

这是我的SimpleModule扩展名:

class BarModule : SimpleModule() { override fun setupModule(context: SetupContext?) { context?.setMixInAnnotations(Bar::class.java, BarMixin::class.java) } } 

这是我的混合:

 abstract class BarMixin { @JsonIgnore val totalValue: Double = 0.0 } 

我最初尝试@JsonIgnore val totalValue:双,但它不会接受。

这是我的班级:

 data class Bar( val a: String, val b: Boolean = false, val c: Boolean = false, val d: Array<Block> ) { val totalValue: Double by lazy { d.sumByDouble { it.value } } } 

这是我如何创建我的映射器:

 private val mapper = jacksonObjectMapper().registerModule(KotlinModule()).registerModule(BarModule()) 

运行时,它崩溃的错误:无法启动活动:com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:无法识别的字段“totalValue”,未标记为可忽略

尝试把注释放在MixIn的构造函数中,如:

 abstract class BarMixin ( @JsonIgnore val totalValue: Double = 0.0 ) 

(注意()而不是{}