Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
覆盖某些控制器的@JsonIgnore注释。杰克逊。春天_Json_Hibernate_Spring Mvc_Jackson_Kotlin - Fatal编程技术网

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

覆盖某些控制器的@JsonIgnore注释。杰克逊。春天,json,hibernate,spring-mvc,jackson,kotlin,Json,Hibernate,Spring Mvc,Jackson,Kotlin,我只需要序列化对实体的直接请求的照片字段。但当用户向所有MediaHolders对象发出请求时,只能使用photoSize序列化简短的信息 我正在使用Kotlin、Jackson、Spring和Hibernate。 我试过: @控制面板上的JsonView。不起作用。JsonView不会重写@JsonIgnore行为。或者我需要注释基本PersonalDomainObject类中的所有字段和所有控制器,这对我来说并不合适 自定义JsonFilter,但同样,它没有看到忽略字段。我不能在不同的控

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

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

  • @控制面板上的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
}
@JsonIgnoreProperties(“createdAt”、“updatedAt”、“owner”、“hibernateLazyInitializer”、“handler”)
开放类MediaHolder:PersonalDomainObject(){
@OneToMany(cascade=arrayOf(CascadeType.PERSIST,CascadeType.REMOVE),mappedBy=“mediaHolder”)
@LazyCollection(LazyCollectionOption.EXTRA)
变量照片:MutableList=mutableListOf()
值大小:Int
get()=photos.size
}