后端如何过滤敏感字段传参给前端

一、背景

    之所以写这篇文章是因为最近一次和前端调试一个接口的时候,返给前端的字段有些是比较隐私的,涉及到用户的基本信息以及账户相关信息,因此是比较重要的,如果将这些信息显示在前端的话非常危险,因此我们需要把这些重要的字段隐藏掉。

二、如何解决

    如果你只需要给前端传一个字段如username那么你可以直接传因为这个信息不是重要的,那么完全可以不用我这种方法解决,但是如果之前是另外一个开发哥们封装了一个UserInfo的DTO类,那么现在你该怎么办也许你会想到直接在不需要的字段上面加注解@JsonIgnore,让它在传给前端Json串的时候直接忽略,这样做完全没有问题,但你有没有考虑过使用@JsonIgnore之后会对序列化和反序列化都有影响,UserInfo这个类不仅仅是你会用,公共的DTO可能很多人同时都在使用,你的接口Ignore之后其他人的接口在传输序列化的时候。。。(希望你不会被打死)。

    其实解决办法很简单只需要将这些重要信息设置为null,反正它也不是前端所需要的,如前端需要username,那你就将UserInfo中除了username之外的属性都设置为null,而不是加@JsonIgnore,这样其他人的接口还依赖的是之前的UserInfo,从始到终UserInfo就没被修改过。

你可能感兴趣的:(SpringBoot)