JMSSerializer 和继承 Class

JMSSerializer and inheritance Class

我遇到了 JMS 序列化程序和继承问题 class。当我序列化我的实体时,它不会处理 JMSSerializer Annotation 因为继承 class... 那么我如何设置 JMSSerializer Annocation 与 class 继承?

示例:

/**
 * 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":5} ],"name":"...","id":1}]。未应用 ExclusionPolicy 注释。

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

谢谢

您继承自 BaseCategory - 您不能指望它会起作用。 在您的基础 class 中设置您的 ExclusionPolicy - 在这种情况下,您的扩展 class 将从 BaseCategory.

继承