Я работаю над созданием веб-сервиса JAX-RS с использованием RestEasy 2.2.2 для развертывания на Tomcat 7. Веб-сервис возвращает JSON (через Джексона) клиентам. До сих пор это работало, но я не уверен, как создать динамические ссылки, которые нужно отправлять клиентам.
На ум приходит следующее:
1- Сделайте глубокую копию корневого объекта (который сам содержит другие объекты, всего три уровня), измените свойства String, представляющие ссылки, и верните этот новый объект.
Озабоченность: производительность, правильная реализация глубокого копирования
2 - изменить объект для запроса и вернуть его
Озабоченность: проблемы параллелизма (я даже не уверен, возможно ли это)
3 - Создайте новый корневой объект, итерируя по «основному объекту», и измените / добавьте, если необходимо
Концерн: аналогично (1). В основном это реализация конструктора копирования вместо cloning () объекта.
Единственный пример, который я смог найти (прокрутите вниз до раздела «Класс ресурсов JAX-RS»), похоже, реализует вариант 3. Однако, если я не ошибаюсь, он также ведет себя как вариант 2 ( он изменяет объект и добавляет в коллекцию), и я не уверен, как обрабатываются проблемы параллелизма.
Заранее спасибо за любые советы, помощь и мнения.