注解+aop⼀:定义⼀个注解
⼆:在序列化时候,判断字段上是否有注解,进⾏序列化的操作三:在对应的字段上添加上注解
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)@JacksonAnnotationsInside
@JsonSerialize(using = SensitiveWordSerializer.class)public @interface SensitiveWord {
SensitiveWordType sensitiveWordType() default SensitiveWordType.MOBILE ;}
public class SensitiveWordSerializer extends JsonSerializer @Override public JsonSerializer> createContextual(SerializerProvider prov,BeanProperty property) throws JsonMappingException { SensitiveWord sensitiveWord = property.getAnnotation(SensitiveWord.class); if (sensitiveWord != null) { sensitiveWordType = sensitiveWord.sensitiveWordType(); } return this ; } @Override public void serialize(String value,JsonGenerator gen,SerializerProvider serializers) throws IOException, JsonProcessingException { if (!StringUtils.hasText(value)) { gen.writeString(value); return; } if (sensitiveWordType != null) { value = value.replaceAll(sensitiveWordType.getRegex() , sensitiveWordType.getReplacement()); } gen.writeString(value); }} @SensitiveWord @ApiModelProperty(value = \"机构联系⽅式\ private String contact; 结果 注解+序列化的实现 因篇幅问题不能全部显示,请点此查看更多更全内容