在前后端交互过程中,有些实体类属性其实并不需要后端返回,即忽略实体类中的属性,这个时候就可以用到@JsonIgnore和@JsonProperty,一开始我采用的@JsonIgnore,但无奈有坑,后来改用了@JsonProperty
@JsonIgnore
在属性上加此注解,例如:
这样就能实现后端返回前端数据时忽略此属性
但是值得注意的是:
当前端以json格式向后台传要忽略的属性的值,且后台是以实体类形式接收时,这时候@JsonIgnore会忽略,即不接收要忽略字段的值。若想避免此类情况,建议使用form表单的形式提交参数,而非json格式。
通俗的解释:
上面第一种方式是可用使用 @JsonIgnore注解的,后端返回忽略之后,前端再次回传也不会丢失,也可以称为是form表单的形式提交参数
第二种方式当使用@RequestBody进行接收json序列化时,识别到属性上有@JsonIgnore注解,便不会再接收这个属性值了
@JsonProperty
以上问题可用@JsonProperty注解解决