Существует подход Spring для фильтрации полей из ответа сервиса с представлениями JSON, но мне не хватает эквивалентного подхода для обогащения ответа некоторыми динамическими/синтаксическими полями, подобными этому;
class User{
getFirstName(){...}
getLastName(){...}
getCreateDate(){...}
}
class UserViewA{
getFullName(){
return getLastName()+", "+getFirstName()
}
getCreateDate(){...}
}
class UserViewB{
getFullName(){
return getFirstName()+" "+getLastName()
}
getCreateDate(){...}
}
Я мог бы обернуть пользователя в представление, но я не хочу распространять все необходимые пользовательские поля вручную.
Моя другая идея состояла в том, чтобы расширить представления пользовательским объектом и создать своего рода ссылочный компоновщик для копирования ссылок на значения из пользовательского объекта в представление, но это усложняется с коллекциями.
Есть ли какой-то другой подход или рамки для достижения этой цели? Разве эта концепция вообще не рассматривается?
Обновить:
Разъяснение по примеру:
- Я не хочу оборачивать объект User, потому что я не хочу поддерживать одни и те же методы получения из класса User в разных объектах UserView.
- Я не могу продлить пользователя, потому что это объект домена, загруженный из другого ресурса.
- В объекте User не должно быть ссылок на разные объекты UserView.
Я ищу своеобразное фасадное решение/каркас/подход.