JMSSerializerBundle でシリアライズしたいエンティティが 2 つあります。エンティティにはの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
クラスを拡張する必要があり、除外しようとしている親の保護フィールドにもアクセスできません。