我正在使用Spring REST + Spring Security创建一个休息服务。在少数服务中,我需要隐藏/屏蔽数据作为响应。
例如,我不希望任何人看到用户的密码。因此密码字段应为空或不应出现在响应中。我在请求和列表响应中使用相同的DTO。这就是为什么无法从DTO中删除属性。
同样,帐号应掩盖为xxx-xxx-xxx-123
。
春天有没有办法实现这个目标?或者在返回entities/controller
时可以应用于所有ResponseEntity
的常见解决方案(例如Interceptor
)?
答案 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>