覆盖一些控制器的@JsonIgnore注释。 杰克逊。 弹簧
我只需要将照片字段仅用于直接请求到实体。 但是,当用户向所有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 }