首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jackson Mixins与Kotlin

Jackson Mixins与Kotlin
EN

Stack Overflow用户
提问于 2016-04-02 17:00:24
回答 1查看 1.5K关注 0票数 3

我试图使用Jackson mixins来忽略外部Kotlin数据类的一个属性,但到目前为止,它对我还不起作用。

这是我的SimpleModule扩展:

代码语言:javascript
复制
class BarModule : SimpleModule() {
    override fun setupModule(context: SetupContext?) {
        context?.setMixInAnnotations(Bar::class.java, BarMixin::class.java)
    }
}

这是我的混合:

代码语言:javascript
复制
abstract class BarMixin {
    @JsonIgnore val totalValue: Double = 0.0
}

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

这是我的班级:

代码语言:javascript
复制
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 }
    }
}

下面是我创建映射器的方法:

代码语言:javascript
复制
private val mapper = jacksonObjectMapper().registerModule(KotlinModule()).registerModule(BarModule())

运行时,它崩溃并显示错误: Unable to start activity: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:无法识别字段"totalValue",未标记为可忽略

EN

回答 1

Stack Overflow用户

发布于 2016-04-02 17:29:33

尝试将注释放在MixIn的构造函数中,如下所示:

代码语言:javascript
复制
abstract class BarMixin (
    @JsonIgnore val totalValue: Double = 0.0
)

(注意()而不是{})

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36371274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档