在我的 POJO 中使用 @XStreamOmitField 似乎没有任何效果。带注释的字段仍然在 xml 或 json 表示中公开。
@XStreamAlias("Pojo")
@Entity
public class Pojo {
private String name;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long key;
@XStreamOmitField
private String hidden;
public Pojo(String name, String hidden) {
this.name = name;
this.hidden = hidden;
}
}
在服务器资源中
@Get
public Pojo test() {
Pojo pj= new Pojo("hansi","hinter");
return pj;
}
让我明白
<com.myComp.ORMTest.Pojo>
<name>hansi</name>
<hidden>hinter</hidden>
</com.myComp.ORMTest.Pojo>
为什么注释被忽略有什么想法吗?
最佳答案
您必须告诉 XStream 显式处理注释:
XStream xstream = new XStream();
xstream.processAnnotations(MyClass.class);
或者,您应该添加此代码来告诉 XStream 处理所有注释:
xstream.autodetectAnnotations(true);
关于java - 使用 RESTlet,XStream 注释似乎没有效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2300566/