У меня есть два объекта, которые я хочу сериализовать с помощью 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
Почему он не ссылается на собственный файл сопоставления? Или я где-то ошибаюсь?
Что я пробовал, таким образом,
Я прочитал документацию сторонних метаданных. Он просто говорит, чтобы добавить новый каталог в мою службу serializer. Я сделал это, но мне нужно расширить класс FOS\UserBundle\Entity
, а также не иметь доступа к родительским защищенным полям, которые я пытаюсь исключить.