根据要序列化的类修改对象序列化

时间:2016-11-21 11:18:10

标签: java spring spring-mvc jackson spring-web

所以我的目标是从Spring REST控制器返回一些对象作为响应主体。问题是,这两个对象相互指向,有点像这样:

public class Person {
    private Set<Team> teams;
}

public class Team {
    private Set<Person> members;
}

如果我立即从控制器映射方法返回这两个对象,生成的响应将是无限的,并且可能会使浏览器崩溃,因为成员集有人,每个人都有一组团队,等等,一切都无限回归。

如何管理,而不是显示成员的整个列表,只显示每个成员的名称?

非常感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:1)

如果您使用的是杰克逊,那么您必须使用杰克逊提供的解决方案解决您提到的问题。

  1. @JsonManagedReference
  2. @JsonBackReference
  3. 另请查看此链接可能会有所帮助: Infinite Recursion with Jackson JSON and Hibernate JPA issue

    另外 https://github.com/FasterXML/jackson-annotations/wiki/Jackson-Annotations#object-references-identity