根据正在序列化的 class 修改对象序列化
Modify object serialization depending on what class is being serialized
所以我的目标是 return 一些对象作为来自 Spring REST 控制器的响应主体。问题是,这两个对象相互指向,有点像这样:
public class Person {
private Set<Team> teams;
}
public class Team {
private Set<Person> members;
}
如果我return这两个对象直接从一个控制器映射方法,生成的响应将是无限的并且可能会导致浏览器崩溃,因为成员集有人,每个人都有一组团队,依此类推,所有内容都会被 return 无限编辑。
我如何管理,而不是显示整个列表,比方说,成员,只显示每个成员的名字?
非常感谢任何帮助,谢谢!
如果您使用的是 jackson,那么您必须使用 jackson 提供的解决方案来解决您提到的问题。
- @JsonManagedReference
- @JsonBackReference
另请参阅此 link,这可能会有帮助:
Infinite Recursion with Jackson JSON and Hibernate JPA issue,
还有
https://github.com/FasterXML/jackson-annotations/wiki/Jackson-Annotations#object-references-identity
所以我的目标是 return 一些对象作为来自 Spring REST 控制器的响应主体。问题是,这两个对象相互指向,有点像这样:
public class Person {
private Set<Team> teams;
}
public class Team {
private Set<Person> members;
}
如果我return这两个对象直接从一个控制器映射方法,生成的响应将是无限的并且可能会导致浏览器崩溃,因为成员集有人,每个人都有一组团队,依此类推,所有内容都会被 return 无限编辑。
我如何管理,而不是显示整个列表,比方说,成员,只显示每个成员的名字?
非常感谢任何帮助,谢谢!
如果您使用的是 jackson,那么您必须使用 jackson 提供的解决方案来解决您提到的问题。
- @JsonManagedReference
- @JsonBackReference
另请参阅此 link,这可能会有帮助: Infinite Recursion with Jackson JSON and Hibernate JPA issue,
还有 https://github.com/FasterXML/jackson-annotations/wiki/Jackson-Annotations#object-references-identity