Кто-нибудь хочет сделать аналог сериалайзера с возможность кастомизации ответа на лету?
На работе юзаем jms/serializer, но это решение мне не нравится.
Хочется описывать структуры в php/json/yaml/annotations, когда возвращаются данные.
Пример:
Есть метод, который возвращает UserEntity.
Не хочется делать UserOutputDTO, расписывать какое свойство куда пойдёт и так для каждой сущности.
Хочется где-то задать структуру-маппинг, которая будет автоматом преобразована в нужное. Кстати, тут возможно сделать интеграцию с OpenApi.
Еще с dto-шками бывает больно, когда приходится кастомизировать форматы в разных методах.
Пример:
Request: /user/123/id
Response: {id: *}
Request: /user/123/full
Response: {id: *, name: *, age: *, created_at: *, parent: *, children: *, ....}
Request: /post/12345
Response: {id: *, author: {id: *, name: *}}
Request: /post/12345/export
Response: {id: *, author: {id: *, name: *}, relations...}
Я понимаю, что это в сторону плохого проектирования и смешивании ответственностей методов и классов, но часто такие кейсы хочется решить за максимум час, а выходит на половину дня.
Было бы круто заложить такой пакет с интеграцией под Yii 3, чтобы из коробки и с примерами.
Аналог: есть api-platform, в которой на вход/выход свои DTO с сериализатором из коробки, но нет фичи именно для гибких сериализаторов для вложенных сущностей. Нет даже аналогов для fields из Yii2 (в Yii3 тоже нет).
Есть у кого-нибудь мысли на этот счет?