想要在响应Json的密码上添加@JsonIgnore属性

我想在用户域的密码属性中添加Jackson的@JsonIgnore,这样我必须能够发送带有密码的Json,并将数据保存在数据库中,但作为响应,我不想显示密码。

我该如何实现这一点请帮助我。

我尝试在定义属性的用户的域级别使用它,但它完全忽略了getter和setter方法中的属性。

我试过这个

private String password; @JsonIgnore public String getPassword() { return this.password; } 

尝试在你的类中使用@JsonIgnore@JsonProperty ,如下所示:

 private String password; @JsonIgnore public String getPassword() { return password; } @JsonProperty public void setPassword(String password) { this.password = password; } 

我认为您应该使用DTO Pattern来设置/更改密码。

如果您不想手动创建getter / setter(例如,使用lombok的@Data时),也可以这样做。

 @JsonProperty(access = Access.WRITE_ONLY) private String password; 

就我而言,它有助于这样做:

 @JsonProperty private String password; @JsonIgnore public String getPassword() { return password; } public void setPassword(String password) { this.password = password; }