springboot 实体类使用@JsonIgnore属性后无法接收前端参数的完美解决方法

在controller中返回json数据的时候,有时不希望某些属性返回给前端,比如说密码或者一些无用的数据,一般我们会通过给实体属性添加@JsonIgnore注解来避免返回。
User实体的passwd属性在序列化的时候会被忽略
但是当我们接收前端参数的时候,@JsonIgnore会一并忽略掉setter方法,也就是说前端的传的值将无法注入到实体类属性中。

百度到的方法有说在setter上添加@JsonProperty, 在getter上添加@JsonProperty,这样倒是也能解决问题,不过稍微有点麻烦,尤其是对用了lombok的小伙伴来说。

解决方案取决于你的jackson版本:
1.9版本之后:
给实体类属性添加这个注解: @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
在这里插入图片描述

1.9版本之前:只给getter方法添加@JsonIgore注解, setter和属性无需添加(这个我没有试过,不晓得管不管用)

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值