Jms序列化器注释为yaml文件

时间:2016-06-07 04:58:37

标签: symfony fosuserbundle jmsserializerbundle

我一直在处理从BaseUser FOSUserBundle继承的User类,所以我遇到了一个问题。我需要为BaseUser设置序列化,但JMS序列化程序会序列化BaseUser的所有属性。 我找到的解决方案是为android:showAsAction="always创建自己的注释并将其存储在yaml文件中,但我不知道我该怎么做。

1 个答案:

答案 0 :(得分:1)

默认情况下,JMSSerializerBundle使用您的AcmeBundle/Resources/config/serializer目录来获取在ymlxml文件中声明的所有元数据。您需要创建名为Entity.User.yml的文件,以指向序列化程序以使用您的AcmeBundle/Entity/User实体。

如果您需要为第三方软件包(基本实体)定义元数据,您可以在config.yml中定义用于获取元数据的自定义路径:

jms_serializer:
    metadata:
        directories:
            FOSUB:
                namespace_prefix: FOS\UserBundle
                path: %kernel.root_dir%/serializer/FOSUB

在这种情况下,您需要在%kernel.root_dir%/serializer/FOSUB目录中找到名称为Model.User.yml的元数据文件。