2014-11-25 70 views
0

我实际上创建了我的第一个小Spring应用程序,一个Rest web服务,我正面临一个问题。春季REST,用户资源和密码

事实上,我在/用户的ressource,我不希望人们获取密码。

我的用户对象包含密码字段。

那么我能做些什么绕过这个?我可以隐藏该字段吗?我能做更好的事情来管理吗?

感谢提前

回答

2

假设你从你的web服务返回JSON,你可以标记与@JsonIgnore注释密码字段/消气,这样就不会被包括在你的控制器返回的JSON。

如果要返回XML和你的对象都被注解JAXB批注,您可以使用@XmlTransient注解来达到同样的效果。

+0

这是一个“标准”还是一个真正常见的方法? – mfrachet 2014-11-25 11:52:58

+1

它是恕我直言的一种标准方式,从您想要序列化为JSON/XML的对象中排除属性。但是,如果从REST资源返回的对象与模型类更加不同,那么我认为更标准的方法是创建一个仅包含要通过REST资源公开的信息的数据传输对象(DTO)。在这种情况下,您会将模型对象映射到此传输对象,并从您的控制器中返回传输对象。我喜欢这个解决方案,因为通常我不想用Json注释污染我的模型实体。 – 2014-11-25 11:57:44