FOS Rest bundle:避免在获取响应时循环引用

FOS Rest bundle: avoid circular reference on a get response

我用 FOS Rest 捆绑包完成了 REST Api。我有一个用户实体和一个评论实体。所以我想得到用户评论: /用户/{idUser}/评论 但问题在于评论的回复中包含用户,用户包含他的评论,评论包含用户,用户包含用户......所以我最终得到了一个巨大的JSON响应。

我的控制器 getCommentsAction 使用存储库和 findBy 方法,有什么方法可以告诉 FOS Rest Bundle 不要包含循环引用?

谢谢!

JMSSerializer is your saviour. If you see the Symfony FOSRestBundle config document您必须启用序列化程序才能正确解析数据。

当您使用 JMSSerializerBundle 时,您可以像表单验证一样配置序列化程序 groups,并让 serializer 知道哪些属性要公开给 API,哪些不公开。

希望对您有所帮助!