当前位置: 首页 > news >正文

网站建设重点是什么it服务商

网站建设重点是什么,it服务商,个人网站备案 照片,西部数码网站助手4.0记录于2025年4月28号晚上--梧州少帅 1. 定义枚举类: public enum DesensitizeType {NAME, EMAIL } 2. 创建自定义注解: 用于标记需要脱敏的字段及其类型。 Retention(RetentionPolicy.RUNTIME) JacksonAnnotationsInside JsonSerialize(using Desen…

记录于2025年4月28号晚上--梧州少帅

1. 定义枚举类:

public enum DesensitizeType {NAME, EMAIL
}

2. 创建自定义注解:

用于标记需要脱敏的字段及其类型。

@Retention(RetentionPolicy.RUNTIME)
@JacksonAnnotationsInside
@JsonSerialize(using = DesensitizeSerializer.class)
public @interface Desensitize {DesensitizeType type();
}

3. 实现自定义序列化器:

根据注解类型应用不同的脱敏规则。

public class DesensitizeSerializer extends JsonSerializer<String> implements ContextualSerializer {private DesensitizeType type;@Overridepublic void serialize(String value, JsonGenerator gen, SerializerProvider serializers) throws IOException {switch (type) {case NAME:gen.writeString(desensitizeName(value));break;case EMAIL:gen.writeString(desensitizeEmail(value));break;default:gen.writeString(value);}}private String desensitizeName(String name) {if (name == null || name.isEmpty()) return "";if (name.length() == 1) return name;return name.charAt(0) + "*".repeat(Math.max(0, name.length() - 1));}private String desensitizeEmail(String email) {if (email == null || !email.contains("@")) return email;String[] parts = email.split("@");String local = parts[0];String domain = parts[1];if (local.length() <= 2) return "***@" + domain;return local.substring(0, 2) + "***@" + domain;}@Overridepublic JsonSerializer<?> createContextual(SerializerProvider prov, BeanProperty property) {Desensitize annotation = property.getAnnotation(Desensitize.class);if (annotation != null) {DesensitizeSerializer serializer = new DesensitizeSerializer();serializer.type = annotation.type();return serializer;}return this;}
}

4. 在DTO中应用注解:

在需要脱敏的字段上添加@Desensitize注解。

public class UserDTO {@Desensitize(type = DesensitizeType.NAME)private String name;@Desensitize(type = DesensitizeType.EMAIL)private String email;// Getters and Setters
}

需要添加的依赖:

<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.5</version>
</dependency>

测试:

public static void main(String[] args) throws JsonProcessingException {ObjectMapper objectMapper = new ObjectMapper();UserDTO build = UserDTO.builder().name("黄成宇").email("huangchengyu1@byd.com").build();String json = objectMapper.writeValueAsString(build);System.out.println(json);}

http://www.dtcms.com/a/509141.html

相关文章:

  • 【连接器专题】案例:在充电线端应用PTC时为什么内模要用PP类材料
  • 安徽建设相关网站seo经理
  • 【随笔】2026年陕西会举办哪几场马拉松
  • 推广网站seo设计网站公司 都赞湖南岚鸿案例10
  • 网站建设书 模板下载爱用系统的设计理念
  • 会qt怎么做网站衡水网站建设浩森宇特
  • 信阳制作网站ihanships免费模板素材网站
  • 江浦做网站百度seo新规则
  • 网站推广自己可以做吗如何建一个营销网站
  • 淘宝实时优惠券网站怎么做的网站情况建设说明
  • 电子科技网站模板买完域名接下来怎么弄
  • C语言动态数组
  • Linux小课堂: 系统监控与进程管理之深入解析 w、ps 与 top 命令
  • 一文解析软件项目管理:从核心概念到实战要点
  • 选择合适的电机试验平台的要点
  • 栅格系统做的网站怎么做手机app软件
  • 75.颜色分类
  • vue3知识点-setup返回值OptionsAPI以及其语法糖汇总
  • 专业的聊城做网站费用用凡科做网站的费用
  • 知道网站域名怎么联系免费网站模版
  • 蛋白表达标签:重组蛋白研究的精妙引擎
  • 网站建设广金手指排名番禺人才网招聿
  • 关于门户网站建设讲话酒庄企业网站
  • 建站公司联系电话wordpress 用户发帖
  • Nature Methods | GHIST vs LOKI:HE→表达的两条路径 | 单细胞级重建 vs spot级预测
  • 上海网站建设平台站霸网络多个网站给一个网站推广
  • 深圳的网站制作公司网站招聘怎么做
  • 网站建设推广渠道iis怎么做ip网站吗
  • Visual Basic 文件系统控件
  • Unity多层嵌套预设在SVN中的问题