当前位置: 首页 > 知识库问答 >
问题:

FOS Rest捆绑包:避免get响应上的循环引用

拓拔坚
2023-03-14

我用FOS REST包完成了一个REST Api。我有一个用户实体和一个评论实体。所以我想得到用户评论:/users/{idUser}/comments,但问题是在评论的响应中,用户被包括在内,用户包括他的评论,评论包括用户,用户包括用户。。。所以我最终得到了一个inmense JSON响应。

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

谢谢

共有1个答案

楮杰
2023-03-14

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

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

希望有帮助!

 类似资料:
  • 我有一个用Grails 2.3.8编写的大项目。有时,当我使用我的CI部署它时,我收到以下消息: 由于StackOverflow Error,无法完成Web应用程序[/ProjectName##1152]的注释扫描。 可能的根本原因包括 -Xss 设置过低和非法的循环继承依赖关系。正在处理的类层次结构是 [org.bouncycastle.asn1.ASN1EncodableVector- 我已经

  • 问题内容: 我尝试使用MVP范例构建Webapp。因为我希望API干净并且使所有内容易于测试,所以我尝试通过Contructor Injection注入所有可能的内容。现在,我到了一个具有多个文本字段的视图。当数据库中有值时,演示者将填充这些文本字段,因此我的演示者需要视图的引用,但是vie显然也需要演示者的引用。CDI告诉我,由于循环依赖性,无法将Presenter注入视图。是否有可能避免通过s

  • 我已经阅读了Bundle文档(FOS-rest Bundle),没有找到任何关于压缩响应的内容,并且我无法将压缩设置为在web服务器级别进行。 有没有办法让bundle返回gzip(或deflate)压缩响应? 我目前的想法是实现一个响应侦听器,捕获并压缩它,但我觉得可能有一个现成的方法。 我在FOS Rest捆绑包中找不到任何能够实现这一点的东西——很可能他们希望它在服务器级别完成。解决方案是创

  • 问题内容: 我知道python中的循环导入问题已经出现过很多次了,我已经阅读了这些讨论。在这些讨论中反复提出的意见是,循环导入表明设计不良,应重新组织代码以避免循环导入。 有人可以告诉我在这种情况下如何避免循环导入吗?:我有两个类,并且我希望每个类都有一个构造函数(方法),该构造函数接受另一个类的实例并返回该类的实例。 更具体地说,一类是可变的,一类是不变的。哈希,比较等需要不可变的类。可变类也需

  • 问题内容: 我们都知道您由于以下原因而无法执行以下操作: 但这显然有时有效,但并非总是如此。这是一些特定的代码: 当然,这导致: 即使没有多个线程。无论如何。 解决此问题的最佳方法是什么?如何在不引发此异常的情况下循环地从集合中删除项目? 我还在这里使用任意值,不一定是an t,因此您不能依赖。 问题答案: 是安全的,您可以这样使用它: 注意,这是在迭代过程中修改集合的唯一安全方法。如果在进行迭代

  • 从我的main开始,我将启动两个线程,称为producer和consumer。两者都包含循环。生产者循环是UDP服务器,因此不需要Hibernate。我的问题出在消费者方面。使用者循环将对象从链接队列中移除,并将其传递给一个函数进行进一步处理。根据研究,在循环中使用线程Hibernate不是一个好的实践,因为有时O/S在设定时间结束时不会释放。如果我删除线程Hibernate,当应用程序是理想的,