У нас есть интерфейсная служба, которая использует фоновый сервис для получения списка объектов Metric. Мы создали Java ClientSDK для внутреннего сервиса, чтобы облегчить жизнь для клиентских приложений этой службы.Предоставление подмножества объекта Java для JSON
Мы также показываем список показателей из службы front-end. Пока что мы непосредственно разоблачаем и конвертируем back-end объекты Metric в JSON.
Я обеспокоен тем, что если изменения будут внесены в базовый объект Metric - скажем, разработчик добавляет новое поле секретного идентификатора - мы не хотим выставлять его из службы front-end.
Мы также пишем clientSDK для службы front-end. Мы не хотим ссылаться на класс Metric из back-end clientSDK, поэтому логическая опция заключается в определении аналогичного объекта Metric в интерфейсном SDK.
Я не хочу тратить процессорные циклы, копируя 1000-ые метрики из одного определения класса в другое.
Есть ли способ указать, какие поля я должен выставить из базового метрика в определение класса Metric, когда я перехожу к JSON? Еще лучше, могу ли я ссылаться на определение front-end на JSON-конвертер, как я прошу его маршалировать back-end объект?
Мы используем Jackson с фреймворком Spring для контекста, но я был бы счастлив бросить это в такт, поскольку маршалинг объектов через аннотации, по-видимому, является основной причиной этой проблемы.
Существует также '@ JsonIgnore' аннотаций, которые в зависимости от точной настройки операционной в могут быть проще выбором. – ingenious