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