Personalize o Jackson ObjectMapper para ler os campos de anotação e máscara personalizados anotados
Tenho um requisito no qual criei uma anotação personalizada @MaskSensitiveData. Eu anoto campos sensíveis. gostar
class MyBean {
String userName;
@MaskSensitiveData
String cardNumber;
String abc;
String xyz;
}
ObjectMapper mapper = new ObjectMapper();
String json = null;
AnnotationIntrospector primary = new JaxbAnnotationIntrospector();
AnnotationIntrospector secondary = new JacksonAnnotationIntrospector();
AnnotationIntrospector pair = new AnnotationIntrospectorPair(primary, secondary);
mapper.setAnnotationIntrospector(pair);
try {
json = mapper.writeValueAsString(obj);
/*
* if(json != null ) { json = getLoggableString(json); }
*/
} catch (Exception e) {
return "Unable to convert to Json object:" + obj.toString() + " Message: " + e.getMessage();
}
Eu estou usando Jackson ObjectMapper para converter objct para Json como.Eu preciso personalizar o Object Mapper para mascarar o campo cardNumber em retorno json. Por favor, sugira uma maneira melhor.