使用 @JsonIgnore注解后 获取不到参数值问题
-
@JsonIgnore:
@JsonIgnore注解是Jackson库中的注解,用于忽略被注解的字段或方法的序列化和反序列化操作。
当一个字段或方法被标记为@JsonIgnore时,Jackson序列化和反序列化JSON时会忽略该字段或方法,不会包含在生成的JSON中。 -
@JsonProperty:
@JsonProperty注解是Jackson库中的注解,用于指定JSON属性的名称。默认情况下,Jackson会使用Java字段或方法的名称作为JSON属性的名称。但是,通过在字段或方法上添加@JsonProperty注解并指定属性名称,可以自定义JSON属性的名称。这样可以在序列化和反序列化过程中,将Java对象的属性与JSON中的属性进行映射。
@Data
public class User implements Serializable
{
private static final long serialVersionUID = 1L;
@JsonIgnore
private String password;
}
- 问题
使用 @JsonIgnore注解后,接口返回对象也获取不到参数值,解决方法
@Data
public class User implements Serializable
{
private static final long serialVersionUID = 1L;
private String password;
@JsonIgnore
public String getPassword() {
return password;
}
@JsonProperty
public void setPassword(String password) {
this.password = password;
}
}