JMSSerializerBundle. brak kontroli nad metadanymi osób trzecich
Mam dwie jednostki, które chcę serializować za pomocą JMSSerializerBundle. TheMusic
Jednostka ma plik odwzorowania zexclusion_policy: NONE
.
TheMusic
jednostka ma pole podmiotuUser
zFOSUserBundle
. TheUser
encja ma plik odwzorowania zexclusion_policy: ALL
z kilkoma polami ustawionymi naexpose: true
, więc będą serializowane.
Problem polega na tymUser
pole jest w pełni serializowane. Nie ma znaczenia, czy zmienię plik odwzorowaniaUser
jednostka.
Tak to wygląda:
#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
Dlaczego nie odnosi się do własnego pliku mapowania? A może gdzieś się mylę?
Co wypróbowałem w ten sposóbPrzeczytałem dokumentację metadanych strony trzeciej. Mówi po prostu, aby dodać nowy katalog w mojej usłudze serializatora. Zrobiłem to, ale muszę przedłużyćFOS\UserBundle\Entity
klasa, która również nie ma dostępu do chronionych pól nadrzędnych, które próbuję wykluczyć.