В моем приложении Play Framework есть ситуация, когда куча моделей зависит от других моделей, что создает потенциальную опасность при попытке сериализовать их в JSON.Кроме того, в каждой модели есть несколько свойств, которые я не хочу показывать клиенту.И последнее, но не менее важное: некоторые свойства экземпляра moel, которые получает веб-клиент, на самом деле не из БД, а из стороннего веб-сервиса.
Я слышал, что можно применитьпользовательский сериализатор перед рендерингом объекта в JSON, но я бы хотел использовать еще более простой подход: DTO, который затем сериализуется в JSON.
Вопрос в том, куда мне поместить функцию преобразования DTO для каждого класса Model?Контроллер?Модель?Возможно, лучшим подходом было бы следовать стратегии сериализатора и создать несколько классов преобразования - по одному для каждой модели?
Я больше всего боюсь, что преобразователи должны знать друг о друге, потому что, очевидно, я бы хотелсначала поверните каждый из экземпляров Book в экземпляре Author на DTO, а затем превратите Author в DTO.Это действительно плохо?