簡體   English   中英

無法覆蓋 SonataUserBundle 中的序列化程序配置以隱藏屬性

[英]Cannot override serializer config in SonataUserBundle to hide properties

我正在使用SonataUserBundleJMSSerializerBundle ,我想隱藏我的序列化對象的令牌和其他屬性。

我想在 SonataUserBundle 中ovvride的文件是Resources/config/serializer/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' }

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

任何幫助將不勝感激。

首先,我認為您不需要自動檢測,因為您還指定了目錄。 然后你在奏鳴曲目錄路徑中有幾個拼寫錯誤:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM