【问题标题】:Mask SSN in spring data rest response body在春季数据休息响应正文中屏蔽 SSN
【发布时间】:2022-01-26 22:57:53
【问题描述】:

我正在使用 Spring REST 创建一个休息服务。在身份识别等少数服务中,我需要屏蔽 SSN 作为响应。 (不使用JSON忽略或JsonProperty)

如果客户端在请求正文中发送 SSN,则应屏蔽 SSN 的响应正文,如下所示。 (例如,邮递员请求正文和响应) SSN 应在响应正文中屏蔽为 xxx-xxxx-1235。

spring data rest中有什么方法可以实现这一点吗?或者任何可以在返回 ResponseEntity 时应用于所有实体/控制器的通用解决方案(如拦截器)?

【问题讨论】:

    标签: spring spring-boot spring-data-rest masking


    【解决方案1】:

    我相信jackson @JsonGetter 可以用于这种情况。

    @JsonGetter("ssn")
    public String getCensoredSsn() {
      return Something.CensorSsn(ssn);
    }
    

    【讨论】:

      【解决方案2】:

      我可以通过两种方式做到这一点。首先是覆盖所需字段的 get 方法并在此处将其屏蔽。另一种方法是结合使用创建 CustomSerializer 和在类级别使用 @JsonSerialize(using=CustomSerialzier) 注释。

      公共类 CustomSerializer 扩展了 StdSerializer

      【讨论】:

        猜你喜欢
        • 2013-03-23
        • 2016-01-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多