JMSSerializerBundle. нет контроля над сторонними метаданными
У меня есть две сущности, которые я хочу сериализовать с JMSSerializerBundle.Music
У сущности есть файл сопоставления сexclusion_policy: NONE
.
Music
сущность имеет поле сущностиUser
изFOSUserBundle
,User
Сущность имеет файл сопоставления сexclusion_policy: ALL
с несколькими полями, установленными наexpose: true
поэтому они будут сериализованы.
Проблема в том,User
поле становится полностью сериализованным Неважно, если я изменю файл отображенияUser
организация.
Вот как это выглядит:
#My/Bundle/Resources/config/serializer/Entity.Music.yml
xxx\xxx\Entity\Music:
exclusion_policy: NONE
#My/Bundle/Resources/config/serializer/Entity.User.yml
xxx\xxx\Entity\User:
exclusion_policy: ALL
properties:
id:
expose: true
username:
expose: true
username_canonical:
exclude: true
email:
exclude: true
email_canonical:
exclude: true
enabled:
exclude: true
salt:
exclude: true
password:
exclude: true
last_login:
exclude: true
confirmation_token:
exclude: true
password_requested_at:
exclude: true
groups:
exclude: true
locked:
exclude: true
expired:
exclude: true
expires_at:
exclude: true
roles:
expose: true
credentials_expired:
exclude: true
credentials_expired_at:
exclude: true
Почему это не относится к его собственному файлу сопоставления? Или я где-то ошибаюсь?
Что я пробовал таким образом?Я прочитал документацию сторонних метаданных. В нем просто сказано добавить новый каталог в мой сервис сериализатора. Я сделал это, но я должен продлитьFOS\UserBundle\Entity
класс, который также не имеет доступа к родительским защищенным полям, которые я пытаюсь исключить.