前后端分离使用Jackson或者fastjson解决后端忽略实体类中的某个属性不返回给前端的方法【亲测有用】
springboot 实体类使用@JsonIgnore属性后无法接收前端参数的完美解决方法
/***访问设置,这意味着要使用可见性规则*自动确定此属性的读写访问权限。*///AUTO/***访问设置,这意味着只能为序列化读取属性*(通过“getter”方法访问值,或从字段读取)*但在反序列化期间未写入(设置)。*换句话说,这将反映“只读POJO”,其中包含值*可以读取,但不能写入/设置。*///READ_ONLY,/***访问设置,这意味着只能写入(设置)属性*作为反序列化的一部分(使用“setter”方法,或分配给字段,*或作为创建者参数传递)*但不会为序列化而读取(获取),即属性的值*不包括在序列化中。*///WRITE_ONLY,/***访问设置,这意味着这两个属性都将被访问*序列化(将值作为外部表示形式写入)*和反序列化(从外部表示读取值),*不管可见性规则如何。*///READ_WRITE@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
Jackson实现
import com.fasterxml.jackson.annotation.JsonIgnore;import lombok.Data;import java.io.Serializable;@Datapublic class Test implements Serializable {private static final long serialVersionUID = 337361630075002456L;private String id;private String name;private String gender;@JsonIgnoreprivate String phone;}
Fastjson实现
import com.alibaba.fastjson.annotation.JSONField;import lombok.Data;import java.io.Serializable;@Datapublic class Test implements Serializable {private static final long serialVersionUID = 337361630075002456L;private String id;private String name;private String gender;@JSONField(serialize = false)private String phone;}
