实现JsonSerializer接口
publicstaticclassPhoneextendsJsonSerializer<String> { publicvoidserialize(Strings, JsonGeneratorjsonGenerator, SerializerProviderserializerProvider) throwsIOException { // DesensitizedUtil 这个是hutool提供的手机号码脱敏工具类jsonGenerator.writeString(DesensitizedUtil.mobilePhone(s)); } }
在属性的注解上添加这个注解
description="手机号") (using=Phone.class) (privateStringuserMobile;
返回数据
这样做的好处显而易见,不需要自己去自定义序列化器,操作非常简单。控制粒度细,到达了属性级别 。 缺点就是需要每一个脱敏的地方都去添加这个注解 。但是本人就喜欢细粒度的 ,简单的实现方式。所以果断放弃了自定义注解,加上自定义序列化器的方式 。