Class DesensitizeJsonSerializer
java.lang.Object
tools.jackson.databind.ValueSerializer<String>
tech.riemann.nif.web.desensitize.DesensitizeJsonSerializer
- All Implemented Interfaces:
tools.jackson.databind.jsonFormatVisitors.JsonFormatVisitable
JSON序列化脱敏器
在JSON序列化时自动对标记@Desensitize的字段进行脱敏
工作原理: 1. Jackson序列化时检测到@Desensitize注解 2. 创建上下文序列化器,读取注解配置 3. 根据脱敏类型调用相应的脱敏方法 4. 输出脱敏后的值
- Author:
- Kerbores(kerbores@riemann.tech)
-
Nested Class Summary
Nested classes/interfaces inherited from class tools.jackson.databind.ValueSerializer
tools.jackson.databind.ValueSerializer.None -
Constructor Summary
ConstructorsConstructorDescriptionDesensitizeJsonSerializer(DesensitizeType type, int prefixKeep, int suffixKeep, char replacer) -
Method Summary
Modifier and TypeMethodDescriptiontools.jackson.databind.ValueSerializer<?> createContextual(tools.jackson.databind.SerializationContext ctxt, tools.jackson.databind.BeanProperty property) voidserialize(String value, tools.jackson.core.JsonGenerator gen, tools.jackson.databind.SerializationContext ctxt) Methods inherited from class tools.jackson.databind.ValueSerializer
acceptJsonFormatVisitor, getDelegatee, handledType, isEmpty, isUnwrappingSerializer, properties, replaceDelegatee, resolve, serializeWithType, unwrappingSerializer, usesObjectId, withFilterId, withFormatOverrides, withIgnoredProperties
-
Constructor Details
-
DesensitizeJsonSerializer
public DesensitizeJsonSerializer() -
DesensitizeJsonSerializer
public DesensitizeJsonSerializer(DesensitizeType type, int prefixKeep, int suffixKeep, char replacer)
-
-
Method Details
-
serialize
-
createContextual
public tools.jackson.databind.ValueSerializer<?> createContextual(tools.jackson.databind.SerializationContext ctxt, tools.jackson.databind.BeanProperty property) throws tools.jackson.core.JacksonException - Overrides:
createContextualin classtools.jackson.databind.ValueSerializer<String>- Throws:
tools.jackson.core.JacksonException
-