前后端分离使用Jackson或者fastjson解决后端忽略实体类中的某个属性不返回给前端的方法【亲测有用】
springboot 实体类使用@JsonIgnore属性后无法接收前端参数的完美解决方法

  1. /**
  2. *访问设置,这意味着要使用可见性规则
  3. *自动确定此属性的读写访问权限。
  4. */
  5. //AUTO
  6. /**
  7. *访问设置,这意味着只能为序列化读取属性
  8. *(通过“getter”方法访问值,或从字段读取)
  9. *但在反序列化期间未写入(设置)。
  10. *换句话说,这将反映“只读POJO”,其中包含值
  11. *可以读取,但不能写入/设置。
  12. */
  13. //READ_ONLY,
  14. /**
  15. *访问设置,这意味着只能写入(设置)属性
  16. *作为反序列化的一部分(使用“setter”方法,或分配给字段,
  17. *或作为创建者参数传递)
  18. *但不会为序列化而读取(获取),即属性的值
  19. *不包括在序列化中。
  20. */
  21. //WRITE_ONLY,
  22. /**
  23. *访问设置,这意味着这两个属性都将被访问
  24. *序列化(将值作为外部表示形式写入)
  25. *和反序列化(从外部表示读取值),
  26. *不管可见性规则如何。
  27. */
  28. //READ_WRITE
  29. @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)

Jackson实现

  1. import com.fasterxml.jackson.annotation.JsonIgnore;
  2. import lombok.Data;
  3. import java.io.Serializable;
  4. @Data
  5. public class Test implements Serializable {
  6. private static final long serialVersionUID = 337361630075002456L;
  7. private String id;
  8. private String name;
  9. private String gender;
  10. @JsonIgnore
  11. private String phone;
  12. }

Fastjson实现

  1. import com.alibaba.fastjson.annotation.JSONField;
  2. import lombok.Data;
  3. import java.io.Serializable;
  4. @Data
  5. public class Test implements Serializable {
  6. private static final long serialVersionUID = 337361630075002456L;
  7. private String id;
  8. private String name;
  9. private String gender;
  10. @JSONField(serialize = false)
  11. private String phone;
  12. }