想要在响应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; }