【发布时间】:2012-11-19 20:43:10
【问题描述】:
我正在使用 Symfony2 和 JMSSerializerBundle 来构建 API。 JMSSerializer 提供的用于设置使用组序列化对象的不同方式的系统非常有用,但是,我缺少一种方法来指定要在每个参数中序列化哪个组。示例:
我有一篇与用户(作者)相关的文章。文章和用户可以序列化为“列表”或“详细信息”,但是,我希望用户始终被序列化为“列表”,因为它们是从文章中检索的(因为“详细信息”组保留使用获取用户并且只获取用户)。问题是如果我将序列化器设置为“details”,那么作者也被序列化为“details”。
在我看来,代码应该是这样的:
/**
* @var SCA\APIBundle\Entity\User
* @Groups({"list" => "list", "details" => "list"})
*/
private $author;
其中数组的key表示parent应该被序列化的方式,value表示child应该被序列化的方式。
有什么办法可以做到这一点吗?
【问题讨论】:
标签: php symfony jmsserializerbundle