我使用Apache CXF 2.4.2,当我从数据库向用户返回img时,我想排除一些属性(例如,密码)。如何在不创建临时班的情况下做到这一点?是否有对此的注释?
根据@ tomasz-nurkiewicz的评论,我应该使用@XmlTransient
注释。但正如文档中所述
默认情况下,如果不存在类上的@XmlAccessorType,并且没有使用@XmlAccessorType对其超级类进行注释,则假定该类具有以下默认值:
@XmlAccessorType(XmlAccessType.PUBLIC_MEMBER)
其中XmlAccessType.PUBLIC_MEMBER
表示:
除非由XmlTransient注释,否则每个公共获取器/设置器对和每个公共字段都将自动绑定到XML。私有,受保护或默认为仅打包访问的字段或getter / setter对仅在由相应的JAXB注释显式注释时才绑定到XML。
因此,这就是为什么@XmlTransient
在Tomasz Nurkiewicz的示例中,对于私有字段不起作用的原因。有两种方法可以解决此问题:
1)向公共获取者添加注释:
private String password;
@XmlTransient
public String getPassword() {
return password;
}
2)添加@XmlAccessorType
到课程:
@XmlAccessorType(XmlAccessType.FIELD)
public User {
@XmlTransient
private String password;
}
可以在以下网址找到:http : //old.nabble.com/@XmlTransient-ignored-td7406659.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句