У меня есть веб-сервис, который возвращает в результате вызова веб-сервиса объект ResponseObject с именем "CustomerResponse
". Когда я реализую этот объект «с нуля», все работает нормально: моя реализация в этом случае содержит только все необходимые «простые типы», такие как строки, целые числа, но НЕТ ссылок / ассоциаций объектов.
Однако я хотел «повторно использовать» существующие объекты. В моей доменной модели есть объект "Customer
", который используется в самом приложении. Вместо того, чтобы тупо более или менее клонировать Customer
в объект «CustomerReponse» (вручную вводя заново все члены / поля), я хотел основать объект CutomerResponse
на объекте Customer
по расширению:
class CustomerResponse extends Customer
==> Проблема в том, что теперь CustomerResponse
содержит некоторые «внутренние» поля, которые были унаследованы от объекта Customer
(например, DatabaseID, Security-Stuff), который я не хочу показывать через веб-сервис. Кроме того (и это в настоящее время основная проблема ") Customer
также содержит множество" ссылок / ассоциаций объектов "на другие объекты, такие как Address
, Orders
, History
, которые я не хочу показывать через веб-сервис. . (Похоже, что Apache CXF «оценивает» весь Objectgraph и пытается включить их в ResponseObject ...)
==> Можно ли "расширить" объекты ответа WebService на основе существующих объектов и каким-либо образом исключить некоторые "члены / поля" расширенного супертипа? (Поэтому я хочу исключить некоторые элементы (например, DatabseID) и все «ассоциации объектов», такие как (Address / Orders / Histroy).
Как мне это сделать, с какими аннотациями и процедурами?
Большое спасибо !!
Jan