Скруббер в Джексоне - PullRequest
       3

Скруббер в Джексоне

0 голосов
/ 04 октября 2019

Я хочу преобразовать чувствительные строки в Джексоне во что-то вроде "<removed>". В идеале, что-то вроде:

interface Scrubber {
    String scrubString(String str);
    boolean shouldScrubValue(String key);
    // String keys are never themselves scrubbed
}

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.FIELD})
public @interface Serializable {
    public boolean value() default true;
}

class ClassToBeSerialized {
    String nonScrubbedString;

    @Scrub
    String scrubbedString;

    // deep values are scrubbed too unless marked otherwise
    @Scrub
    Map<String, Object> map;

    @Scrub
    IncludedClass obj;
}

class IncludedClass {
    @Scrub(false)
    String nonScrubbedString;

    Map<String, Object> map; // is scrubbed if included from ClassToBeSerialized
}

Экземпляр Scrubber, я могу включить его в качестве атрибута Джексона, но как лучше поступить с остальными?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...