JMSSerializerBundle でシリアライズしたいエンティティが 2 つあります。エンティティにはのMusicマッピング ファイルがありexclusion_policy: NONEます。
エンティティには、からのMusicエンティティのフィールドがあります。エンティティには、いくつかのフィールドが に設定されたマッピング ファイルがあるため、シリアル化されます。UserFOSUserBundleUserexclusion_policy: ALLexpose: 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クラスを拡張する必要があり、除外しようとしている親の保護フィールドにもアクセスできません。