With help from the Jackson community:
When calling the ObjectMapper
:
return objectMapper
.writer()
.withAttribute(MaskingSerializer.JSON_MASK_ENABLED_ATTRIBUTE, Boolean.TRUE)
.writeValueAsString(entity);
and in the serializer:
if (serializerProvider.getAttribute(JSON_MASK_ENABLED_ATTRIBUTE) == Boolean.TRUE) {
jsonGenerator.writeString(RegExUtils.replaceAll(value, ".", "*"));
} else {
jsonGenerator.writeString(value);
}