Я разрабатываю API REST для нашей системы, используя Symfony2 с FosRestBundle. FosRestBundle - очень хороший инструмент, но, похоже, имеет одно ограничение: к API могут быть доступны только свойства (конфиденциальные, защищенные и общедоступные).Как вывести результат функции с помощью FosRestBundle?
Я хотел бы выставить производное свойство, рассчитанное на основе двух других полей (например, full name = firstName + lastName), а также свойства, которые описывают отношения (например, название категории продукта, а не идентификатор категории a)
Однако аннотация @Expose может работать только с свойствами.
Я попытался создать свойство фиктивного объекта, установить это свойство в конструкторе (работает при создании нового) и в обработчике событий postcload жизненного цикла Doctrine (работает при загрузке из базы данных), и он работает. Но мне не нравится этот подход, поскольку он создает накладные расходы и дополнительное кодирование, даже если класс Entity не используется API.
Интересно, есть ли лучший способ достичь этого.
Здравствуйте. Это хорошо для сериализации, но ... что происходит с десериализацией? Мне нужно выставить виртуальную собственность со скидкой на чтение/запись. WBR – manuelbcd