我正在使用 Symfony2 和 JMSSerializerBundle 来构建 API。JMSSerializer 提供的用于设置使用组序列化对象的不同方法的系统非常有用,但是,我缺少一种方法来指定要在每个参数中序列化哪个组。例子:
我有一篇与用户(作者)相关的文章。文章和用户可以序列化为“列表”或“详细信息”,但是,我希望用户始终序列化为“列表”,以便从文章中检索(因为“详细信息”组保留使用获取用户并且只获取用户)。问题是如果我将序列化器设置为“details”,那么作者也被序列化为“details”。
在我看来,代码应该是这样的:
/**
* @var SCA\APIBundle\Entity\User
* @Groups({"list" => "list", "details" => "list"})
*/
private $author;
其中数组的键表示父序列化的方式,值表示子序列化的方式。
任何线索我怎样才能做到这一点?