在controller中返回json數據的時候,有時不希望某些屬性返回給前端,比如說密碼或者一些無用的數據,一般我們會通過給實體屬性添加@JsonIgnore註解來避免返回。
但是當我們接收前端參數的時候,@JsonIgnore會一併忽略掉setter方法,也就是說前端的傳的值將無法注入到實體類屬性中。
百度到的方法有說在setter上添加@JsonProperty, 在getter上添加@JsonProperty,這樣倒是也能解決問題,不過稍微有點麻煩,尤其是對用了lombok的小夥伴來說。
解決方案取決於你的jackson版本:
1.9版本之後:
給實體類屬性添加這個註解: @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
1.9版本之前:只給getter方法添加@JsonIgore註解, setter和屬性無需添加(這個我沒有試過,不曉得管不管用)