Ho un requisito in cui ho creato un'annotazione personalizzata @MaskSensitiveData. Annoto campi sensibili. likePersonalizza Jackson ObjectMapper per leggere annotazioni personalizzate e campi maschera annotati
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();
}
Sto usando Jackson ObjectMapper per convertire objct in Json come. Ho bisogno di personalizzare Object Mapper per mascherare il campo cardNumber in risposta json. Si prega di suggerire un modo migliore.
Questo va bene finché tutti gli attributi sono di tipo String. Se tu avessi abc come un tipo più complesso con i suoi attributi, come li stamperesti come json? Ho anche questo problema e non so ancora la soluzione ... – dune76
https://stackoverflow.com/q/46021769/5667890 questo è il mio problema attuale e non ho ancora un indizio – dune76