@Sensitive这个注解

本注解指的是springboot的一个脱敏注解@Sensitive

下面是这个注解的内部

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
@JacksonAnnotationsInside
@JsonSerialize(using = SensitiveSerialize.class)
public @interface Sensitive {
    /**
     * 脱敏数据类型
     */
    SensitiveTypeEnum type() default SensitiveTypeEnum.CUSTOMER;
    /**
     * 前置不需要打码的长度
     */
    int prefixNoMaskLen() default 0;
    /**
     * 后置不需要打码的长度
     */
    int suffixNoMaskLen() default 0;
    /**
     * 用什么打码
     */
    String symbol() default "*";
}

下面是对应的枚举
public enum SensitiveTypeEnum {
    /**
     * 自定义
     */
    CUSTOMER,
    /**
     * 姓名
     */
    NAME,
    /**
     * 身份证
     */
    ID_NUM,
    /**
     * 手机号码
     */
    PHONE_NUM
}
posted @ 2022-12-20 10:56  蓝海的bug本  阅读(894)  评论(0编辑  收藏  举报