Как преобразовать поле объекта (SecureString) в строку при генерации JSON с помощью сопоставителя объектов Джексона? - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть класс, который содержит SecureString поле для пароля и SecureString класс - это реализация класса пользовательского объекта для безопасной обработки пароля.

Пока я пытаюсь сгенерировать JSON этого класса, он генерирует JSON с объектом в качестве поля пароля вместо String, где, как в моей документации по YAML, паролем является поле String, и это приводит к несоответствию YAML в тестах компонентов.

class Credentials
{
    public String userName;
    public SecureString password;

}

Current Output: {\"credentials\":{\"userName\":\"test\",\"password\":{\"empty\":false}}

Expected : {\"credentials\":{\"userName\":\"test\",\"password\":\"dummy\"}

Есть ли у кого-нибудь идеи, как мы можем переопределить это поле в объекте отображения, чтобы сгенерировать это поле как строку вместо объекта?

Я использую метод writeValueAsString для objectMapper.

System.out.println (mapper.writerWithDefaultPrettyPrinter (). WriteValueAsString (new String (bytes, "UTF-8"))) ;

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