1

を非表示にする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を使っています。

ご協力いただきますようお願い申し上げます。

答えて

1

まず、ディレクトリを指定しているので、自動検出は必要ありません。次に、ソナタのディレクトリパスにいくつかのタイプミスがあります。

jms_serializer: 
    metadata: 
     directories: 
      - { path: %kernel.root_dir%/Resources/SonataUserBundle/serializer, namespace_prefix: 'Sonata\UserBundle' } 
+0

ありがとうございます!コードを修正しました。 –

関連する問題

 関連する問題