【发布时间】:2016-05-27 22:02:09
【问题描述】:
我有两个班级:
public class A{
private String property;
private Set<B> bs = new HashSet<B>();
}
public class B{
private String property;
private A owner;
}
我创建了一个基本的 JAX-RS + Spring boot 应用程序,我想返回 A。
问题是 A 包含一个Set<B>,所以我得到了一个无限嵌套级别的问题。
我找到了一个解决方案:提供一个链接而不是资源本身,这样我就可以拥有这个:
{ "property" : "value", "bs" : "http://mywebsite/api/a/2/bs" }
而且我没有遇到任何嵌套级别问题,因为每个级别都是单独序列化的。
如何在我的 JAX-RS 应用程序中实现这样的事情?我一无所获,但我知道这是可能的,因为Spring Data Neo4j REST 正在使用它,而且效果很好。
【问题讨论】:
-
停止使用 jax-rs - 如果没有大量工作,它就无法做到这一点。开始使用弹簧数据休息代替。这类事情没有标准,但 spring 选择了当前有用的特定实现。
-
@EngineerDollery 问题是 Spring Data Rest 给了我这个问题:stackoverflow.com/questions/35412463/…
-
检查this out
-
@peeskillet 你的例子很好,但它不允许我提供链接而不是项目集合。我想我正在寻找一些 hal+json。
标签: java spring rest jackson jax-rs