JMSSerializer和继承类

时间:2015-09-05 12:25:37

标签: php symfony jmsserializerbundle jms-serializer

我遇到了JMS Serializer和继承类的问题。当我序列化我的实体时,由于继承类,它没有处理JMSSerializer Annotation ...那么如何设置JMSSerializer Annocation和类继承呢?

示例:

/**
 * Class Category
 *
 * @Serializer\ExclusionPolicy("all")
 */
class Category extends BaseCategory
{
    /**
     * @var integer $id
     *
     * @Serializer\Expose
     */
    protected $id;
}


/**
 * Class BaseCategory
 */
class BaseCategory
{
    /**
     * @var Dish
     */
    protected $dishs;

    /**
     * @var string
     */
    protected $name;
}

当我序列化类别时,返回的json看起来像:[{" dishs":[{" name":" Salade"," id& #34;:5}],"名称":" ..."" ID":1}]。不应用ExclusionPolicy批注。

你有什么想法吗?如果我在同一个实体中设置所有字段,它会很好,但它会破坏我的所有模板......

由于

1 个答案:

答案 0 :(得分:0)

您从BaseCategory继承 - 您不能指望这样做。 在基类中设置ExclusionPolicy - 在这种情况下,扩展类将从BaseCategory继承。