覆盖某些控制器的@JsonIgnore注释。杰克逊。弹簧

时间:2016-10-11 11:02:36

标签: json hibernate spring-mvc jackson kotlin

我需要序列化照片字段,仅用于直接请求实体。但是当用户向所有MediaHolders对象发出请求时,只能使用photoSize序列化短信息。

我正在使用Kotlin,Jackson,Spring和Hibernate。 我试过了:

  • @ conton上的@JsonView。不行。 JsonView不会覆盖@JsonIgnore行为。或者我需要注释基本PersonalDomainObject类和所有控制器中的所有字段,这不适合我。
  • 自定义JsonFilter,但同样,它没有看到忽略字段。我不能在不同的控制器上添加不同的过滤器。

也许我错过了什么,但我认为这是优化中非常常见的任务。非常感谢您的任何建议!

  @JsonIgnoreProperties("createdAt", "updatedAt", "owner", "hibernateLazyInitializer", "handler")
    open class MediaHolder : PersonalDomainObject() {

        @OneToMany(cascade = arrayOf(CascadeType.PERSIST, CascadeType.REMOVE), mappedBy = "mediaHolder")
        @LazyCollection(LazyCollectionOption.EXTRA)
        var photos:MutableList<Photo> = mutableListOf()

        val photosSize: Int
            get() = photos.size
}

0 个答案:

没有答案