在Spring REST响应中隐藏/屏蔽机密数据

时间:2015-01-10 04:19:58

标签: java spring rest spring-data-rest

我正在使用Spring REST + Spring Security创建一个休息服务。在少数服务中,我需要隐藏/屏蔽数据作为响应。

例如,我不希望任何人看到用户的密码。因此密码字段应为空或不应出现在响应中。我在请求和列表响应中使用相同的DTO。这就是为什么无法从DTO中删除属性。

同样,帐号应掩盖为xxx-xxx-xxx-123

春天有没有办法实现这个目标?或者在返回entities/controller时可以应用于所有ResponseEntity的常见解决方案(例如Interceptor)?

2 个答案:

答案 0 :(得分:2)

在这种情况下,您可以使用@JsonIgnore,如已建议的那样,或使用投影。如果您需要更多的响应,那么您也可以实现自己的序列化程序。

答案 1 :(得分:-1)

如果要仅记录选定的字段,请在记录期间保留其他字段值。你可以试试这个。

https://github.com/senthilaru/sp-util

<dependency>
    <groupId>com.immibytes</groupId>
    <artifactId>sp-utils</artifactId>
    <version>1.0.0-RELEASE</version>
</dependency>