[英]How could I ignore a field in json response?
@Column(name = "password", nullable = false)
@JSonIgnore
private String password;
我在我的模型类中给出了上面的字段,但它对POST方法不起作用。
错误:“password”列中的空值违反了非空约束
仅在getter方法上添加@JsonIgnore。
@Column(name = "password", nullable = false)
private String password;
@JsonIgnore
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
要么
@JsonProperty(access = Access.WRITE_ONLY)
@Column(name = "password", nullable = false)
private String password;
我解决了这个问题。 这是我的旧代码: @Column(name = "password", nullable = false)
`@JSonIgnore`
`private String password;`
我们可以使用JSonProperty代替JSonIgnore。 以下是代码:
这是新代码: @Column(name = "password", nullable = false)
@JsonProperty(access = Access.WRITE_ONLY)
private String password;
感谢大家的帮助......
您已将字段设置为nullable = false
- 这意味着密码不能为空,因此某些代码验证不允许您将空值传递给password
。
我想你正在混淆请求和回复:
如果要在不发送密码的情况下使POST数据有效,则需要创建一个可以与密码分开保存的对象。 这可以是一个可保存的超类,其中子类只有密码,或者只是另一个与另一个拥有密码字段的类有关系的类。
如果您不想要单独的类,则必须将密码添加到请求中,或者将@Column注释中的nullable属性更改为true。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.