@JsonAutoDetect (class)
这是作用于类的annotation,主要用于指明该类使用annotation,并且可以自动侦测getter,setter,构造方法,以便生成json对象
@JsonIgnore (method/field):作用于方法或字段,用来表明,当生成json的时候忽略有该annotation的方法或字段
如题,以一个用户对象为例子:
@Entity @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) @JsonAutoDetect /** * 在此标记不生成json对象的属性,这里我标记了两个属性一个hibernateLazyInitializer属性,为什么要标记这个 * 属性参考前面的博文,一个password属性,出于安全这个当然不能转换成json对象了,毕竟json是在前台调用的, * 如果你想转换的时候忽略某个属性,可以在后面继续加上 */ @JsonIgnoreProperties(value = {"hibernateLazyInitializer", "password"}) public class User { private Long id; private String name; private String password; private String email; private Date createAt; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) public Long getId() { return id; } public void setId(Long id) { this.id = id; } /** * 转换日期对象的输出格式,CustomDateSerializer 代码参考前面的博文 */ @JsonSerialize(using = CustomDateSerializer.class) public Date getCreateAt() { return createAt; } public void setCreateAt(Date createAt) { this.createAt = createAt; } /** * 其他的getter和setter省略 */ }
简单的使用jackson的annotation
时间: 2024-12-30 22:27:35