2013-10-19 36 views
1

比方说,我有一个播放器类:(忽略访问修饰符)如何在我的JSON响应中隐藏信息?

@javax.xml.bind.annotation.XmlRootElement 
class Player { 
    Long id; 
    String name; 
    String secret; 
} 

我可能也有周围的王国城堡

@javax.xml.bind.annotation.XmlRootElement 
class Kingdom { 
    Long id; 
    String name; 
    Player owner; 
} 

现在,当我吐王国对象JSON按消费用户界面,玩家对象也一样。这很好,如果你不知道它是友好的还是敌人的话,它就不会有用。但最糟糕的是秘密变量也被释放。是否有可能注释我的秘密变量,以防止它被封送?

+0

你的意思是'瞬态'吗? –

+1

那么,我仍然希望它在数据库中,因此无论何种解决方案都需要Hibernate能够看到它。 – corsiKa

回答

5

您可以标注您的字段或获取方法,

@JsonIgnore 

的Javadoc状态

标记注释,表明该批注的方法或字段 通过基于内省序列化和反序列化被忽略 功能。也就是说,它不应该被认为是“吸气剂”,“制造者”或“创造者”。

+1

这完全按照要求工作。由于涉及所有维护工作,我真的不想编写自定义编组器。非常感谢你。, – corsiKa