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.
继承
我遇到了 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.
继承