我正在尝试根据我在Product类上指定的组进行序列化。可以看到完整的产品类here。以下是我在文档here上的示例后使用的代码:
$serializer = $this->get('serializer');
$result = $serializer->serialize($param, 'json', SerializationContext::create()->setGroups(array('marketplace')));
所以上面的$param
本质上是一个Product对象数组。
但是,出于某种原因,这仍然会输出我不想要的所有Product属性(即:属于其他组的属性而不是'marketplace')。例如,属性“描述”。我已经将描述标记为“详细信息”组,但是当我要求“市场”组时,为什么它仍然作为响应的一部分返回?
/**
* @Groups({"detail"})
* @ORM\Column(name="description", type="string", length=350)
*/
protected $description;
答案 0 :(得分:0)
尝试删除@ExclusionPolicy("none")
注释。
答案 1 :(得分:0)
您需要对课程使用@ExclusionPolicy("all")
,并为每个要序列化的字段使用@Expose
。