我有一个发送到服务器或从服务器发送的用户对象。发送用户对象时,我不想将哈希密码发送给客户端。因此,我添加@JsonIgnore了password属性,但是这也阻止了将其反序列化为密码,这使得在没有密码的情况下很难注册用户。
@JsonIgnore
我怎样才能只@JsonIgnore应用序列化而不是反序列化?我使用的是Spring JSONView,因此对的控制不多ObjectMapper。
ObjectMapper
我尝试过的事情:
确切的操作方法取决于您使用的Jackson版本。围绕 1.9 版进行了更改,在此之前,您可以通过添加@JsonIgnore到getter中来实现。
您尝试过的:
仅在getter方法上添加@JsonIgnore
执行此操作, 然后 将@JsonPropertyJSON“密码”字段名称的特定注释添加到对象密码的setter方法中。
@JsonProperty
较新版本的Jackson已为添加READ_ONLY和WRITE_ONLY注释参数JsonProperty。因此,您还可以执行以下操作:
READ_ONLY
WRITE_ONLY
JsonProperty
@JsonProperty(access = Access.WRITE_ONLY) private String password;
可以在这里找到文档。