我们刚刚升级了一些maven依赖项,触发了Jackson从1.7.x更新到1.9.x
我们使用setter方法注释@JsonIgnore,不应该从客户端设置方法。例如:对象的所有者(应该从身份验证主体设置)等等。
在我们看来,这个注释的semanthincs已经改变了,这可能吗?现在该字段在所有情况下都是jsonignored,而不仅仅是在设置时。
那是这样的吗?在1.9中有另一种方法来实现忽略SET吗?谢谢! 河
答案 0 :(得分:9)
好的,我想我在javadoc中发现并明确提到了这个问题。 (杰克逊的文件不容易通过)。
此外,从Jackson 1.9开始,如果这是与属性关联的唯一注释,则还会导致整个属性被忽略:即,如果setter具有此注释且getter没有注释,则getter为也有效地忽略了。不同的访问者仍然可以使用不同的注释;因此,如果只忽略“getter”,其他访问器(setter或field)将需要显式注释来防止ignoral(通常是JsonProperty)。