FOS Rest包:避免获取响应的循环引用

时间:2017-04-16 22:06:29

标签: symfony fosrestbundle

我使用FOS Rest软件包完成了REST Api。我有一个User实体和一个Comments实体。所以我想得到用户的评论: /用户/ {} ID用户/评论 但问题在于包含用户的评论的响应,并且用户包括他的评论,评论包括用户,并且用户包括用户......所以我最终得到了一个inmense JSON响应。

我的控制器的getCommentsAction使用了一个存储库和findBy方法,有没有办法告诉FOS Rest Bundle不要包含循环引用?

谢谢!

1 个答案:

答案 0 :(得分:2)

JMSSerializer是你的救世主。如果您看到Symfony FOSRestBundle config document您必须启用序列化程序才能正确解析数据。

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

希望有所帮助!