Есть ли простой способ применить настраиваемое логическое преобразование к значению конкретного ключа во время десериализации бобов?Применить простую строку к преобразованию строки во время десериализации
Конкретный пример, я получаю следующий JSON:
{password: "1234"}
и хочу специальную хэш-функцию, приложенную к значению пароля при десериализации:
User [password: "6265b22b66502d70d5f004f08238ac3c"]
Я знаю, что я мог бы использовать сеттер User.setPassword()
и примените здесь хэш-преобразование, но для преобразования необходимо использовать классы «Сервис», которые недоступны в контексте объекта (плохое использование инъекции зависимостей). Это преобразование должно быть сделано вне кода сущности.
Использование настраиваемого десериализатора для класса User
, похоже, слишком велико для одного атрибута.
Вы можете использовать аннотацию * @ JsonSerialize * и * @ JsonDeserialize * для установки определенного класса, реализующего определенный интерфейс. Таким образом, вы можете поместить всю сериализацию/десериализацию в эти классы. –
@JsonDeserialize выглядит многообещающим, но пока не могу понять, как его использовать. я посмотрю более подробно. –