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