を非表示にするSonataUserBundleにシリアライザの設定をオーバーライドすることはできませんし、私は私のシリアライズされたオブジェクトのトークンおよびその他のプロパティを非表示にしたいと思います。は私がJMSSerializerBundle</strong><strong>SonataUserBundle</strong>と<strong>を使用していますプロパティ
私はSonataUserBundleにovvrideしたいファイルがリソース/設定/シリアライザ/ Model.User.xmlです。
はここに私の設定です:
アプリ/ 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' }
とアプリ/リソース/ SonataUserBundle /シリアライザに私は2つのファイルを試してみました。
Model.User.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>
Model.User.yml
Sonata\UserBundle\Model\User: exclusion_policy: ALL properties: token: expose: false
両方のファイルが動作するように見えるいけません。
私はFOSUserBundleからいくつかのプロパティを非表示にする管理が、私はSonataUserBundleに関連するものを隠して悩みを持っているようですしています。関連性があるかどうかはわかりませんが、私もHWIOauthBundleを使っています。
ご協力いただきますようお願い申し上げます。
ありがとうございます!コードを修正しました。 –