SonataUserBundleとJMSSerializerBundleを使用していますが、シリアル化されたオブジェクトのトークンとその他のプロパティを非表示にしたいと考えています。
SonataUserBundle でovvrideしたいファイルはResources/config/serializer/Model.User.xmlです。
これが私の構成です:
app/config.yml
jms_serializer:
metadata:
auto_detection: true
directories:
- { path: %kernel.root_dir%/Resources/SoantaUserBundle/serializer, namespace_prefix: 'Sonata\UserBundle' }
- { path: %kernel.root_dir%/Resources/FOSUserBundle/serializer, namespace_prefix: 'FOS\UserBundle' }
app/Resources/SonataUserBundle/serializerで2 つのファイルを試しました。
モデル.ユーザー.xml
<?xml version="1.0" encoding="UTF-8"?>
<serializer>
<class name="Sonata\UserBundle\Model\User" exclusion-policy="all" xml-root-name="user">
<property name="token" type="string" expose="false" since-version="1.0" groups="sonata_api_read,sonata_api_write,sonata_search" />
</class>
</serializer>
モデル.ユーザー.yml
Sonata\UserBundle\Model\User:
exclusion_policy: ALL
properties:
token:
expose: false
両方のファイルが機能していないようです。
FOSUserBundleからいくつかのプロパティを隠すことができましたが、SonataUserBundleに関連するものを隠すのに問題があるようです。関連性があるかどうかはわかりませんが、 HWIOauthBundleも使用していることに言及したいと思います。
どんな助けでも大歓迎です。