我正在使用 Spring REST+Spring Security 创建休息服务。在少数服务中,我需要隐藏/屏蔽数据作为响应。
例如,我不希望任何人看到用户的密码。因此密码字段应该为空或者不应出现在响应中。我在请求和列表响应中使用相同的 DTO。这就是为什么无法从 DTO 中删除属性的原因。
同样,帐号应屏蔽为xxx-xxx-xxx-123
。
Spring 有什么办法可以实现这一点吗?或者当返回 ResponseEntity 时可以应用于所有实体/ Controller 的任何通用解决方案(例如拦截器)?
最佳答案
在这种情况下,您可以使用@JsonIgnore(如已经建议的那样)或投影。如果您需要对响应进行更多控制,您也可以实现自己的序列化器。
关于java - 在 Spring REST 响应中隐藏/屏蔽 secret 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27872811/