springmvc 序列化,反序列化时忽略指定字段

深藏阁楼爱情的钟 2024-04-17 06:26 199阅读 0赞

在springmvc开发中, 有时候会遇到忽略字段的情况, 比较常见的需求为: controller层返回参数, 将对象转为json时,忽略一些字段的序列化, 即不返还部分字段, 如密码字段

本文以下案例使用jackson测试, 添加spring-boot-starter-web的maven配置即可

方式一: 直接在字段上配置, lombok的@Data注解不影响(推荐)

  1. import com.fasterxml.jackson.annotation.JsonProperty;
  2. @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
  3. private String name;

方式二: 直接在字段上配置注解

  1. import com.fasterxml.jackson.annotation.JsonProperty;
  2. @Getter(onMethod = @__(@JsonIgnore))
  3. @Setter(onMethod = @__(@JsonProperty))
  4. private String name;

方式三: 在字段的getter, setter方法上配置注解

  1. import com.fasterxml.jackson.annotation.JsonProperty;
  2. private String name;
  3. // controller层返回时, 对象转json
  4. @JsonIgnore
  5. public String getName() {
  6. return name;
  7. }
  8. // controller层接收参数时, json转对象
  9. @JsonProperty
  10. public void setName(String name) {
  11. this.name = name;
  12. }

发表评论

表情:
评论列表 (有 0 条评论,199人围观)

还没有评论,来说两句吧...

相关阅读

    相关 序列序列

    序列化: 对象的序列化主要有两种用途:   1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;   2) 在网络上传送对象的字节序列。