JMSSerializationBundle无法基于组序列化属性

时间:2013-06-10 07:25:14

标签: php symfony doctrine jmsserializerbundle

我正在尝试根据我在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;

2 个答案:

答案 0 :(得分:0)

尝试删除@ExclusionPolicy("none")注释。

答案 1 :(得分:0)

您需要对课程使用@ExclusionPolicy("all"),并为每个要序列化的字段使用@Expose