[web教学] java返回前端实体类json数据时怎样忽略某个属性

[复制链接]
查看894 | 回复0 | 2023-8-23 11:51:45 | 显示全部楼层 |阅读模式 来自 中国北京
第一种方法

  SpringBoot中忽略实体类中的某个属性不返回给前端的方法:使用Jackson的方式://第一种方式,使用@JsonIgnore注解标注在属性上,
  1. //第一种方式,使用@JsonIgnore注解标注在属性上,忽略指定属性
  2. public  class PropertyDTO {
  3.    
  4.     private Integer disable;
  5.    
  6.     private String placeholder;
  7.     //使用@JsonIgnore注解,忽略此属性,前端不会拿到该属性
  8.     @JsonIgnore
  9.     private String validate;
  10. }
复制代码
第二种方法

  使用@JsonIgnoreProperties标注在类上,可以忽略指定聚集的属性
  1. //第二种方式,使用@JsonIgnoreProperties标注在类上,可以忽略指定集合的属性
  2. @JsonIgnoreProperties({"validate"})
  3. public  class PropertyDTO {
  4.     private Integer disable;
  5.     private String placeholder;
  6.     private String validate;
  7. }
复制代码
注意:同时使用@JsonProperty和@JsonIgnore时,大概会导致@JsonIgnore失效
  第三种方法

  使用fastjson时:使用@JSONField(serialize = false)注解
  1. public  class PropertyDTO {
  2.    
  3.     private Integer disable;
  4.     private String placeholder;
  5.     @JSONField(serialize = false)
  6.     private String validate;
  7. }
复制代码
第四种方法

  加上 @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) :前端就不能吸收到
  1. /**
  2.      * 密码
  3.      */
  4.     @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
  5.     private String password;
复制代码
第五种方法

  假如是null不返回,注解JsonInclude(value= JsonInclude.Include.NON_NULL) 返回的字段属性为null 就不会展示给前端...可以放在类上,也可以放在字段上!
  1. @JsonInclude(value= JsonInclude.Include.NON_NULL)
  2. public  class PropertyDTO {
  3.    
  4.     private Integer disable;
  5.     private String placeholder;
  6.     private String validate;
  7. }
复制代码


来源:https://blog.csdn.net/zlfjavahome/article/details/129619541
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则