Spring Boot 忽略Sping Boot API响应中的审核字段

oo7oh9g9  于 2023-01-13  发布在  Spring
关注(0)|答案(1)|浏览(157)

我正在寻找一个更好的方法,即如何排除审计字段(如createdBy,createdDate),同时提取@实体在数据存储库类或忽略他们在API响应。我知道我们可以通过使用@忽略或@IgnoreProperties对每个属性或实体类,但没有兴趣添加到每个类,原因是我有太多的实体。
是否有任何其他方法可以实现简单和共同的实施?

tzdcorbm

tzdcorbm1#

如果所有审计字段都具有相同的名称,则使用一个抽象类来管理这些字段,然后从该抽象类扩展其他整体;
我做法是:

@MappedSuperclass
@EntityListeners(AuditingEntityListener::class)
abstract class ModifiedJpaEntity:Serializable {
    companion object {
        private const val serialVersionUID = -5554308939380869754L
    }
    @Column
    @CreationTimestamp
    @JsonIgnore
    var createAt:Date?=null
    @Column
    @CreatedBy
    @JsonIgnore
    var createBy:String?=null
    @Column
    @UpdateTimestamp
    @JsonIgnore
    var updateAt:Date?=null
    @Column
    @LastModifiedBy
    @JsonIgnore
    var updateBy:String?=null

    val createTimeStr: String
        get() = if(createAt!=null) SimpleDateFormat("yyyy-MM-dd HH:mm").format(createAt) else ""
    val updateTimeStr: String
        get() = if(updateAt!=null) SimpleDateFormat("yyyy-MM-dd HH:mm").format(updateAt) else ""
}

相关问题