繁体   English   中英

使用JAXRS指定最大深度?

[英]Specifying maximum depth with JAXRS?

我发现自己使用Jackson JAX-RS提供商处于一个奇怪的地方。 说我有两个简单的课程;

class A {
    public class A() {}
    public B b;
}

class B {
    public class B() {}
    public A a;
}

我确实创造了一些实例;

A a = new A();
B b = new B();
a.b = b;
b.a = a;

基本上是一个反向链接。 如果我尝试序列化这个,我得到预期的堆栈溢出,因为它永远追逐循环引用。 这显然是一个人为的例子,但它很好地再现了这个问题。 我想要做的就是告诉杰克逊不要超过1级,所以在我的例子中,我希望有类似的东西;

{
  "b": {
      // don't serialize a again, but DO serialize every other property on b
  }
}

这可行吗? 我是否坚持做一个丑陋的对象映射以使其工作?

可悲的是,阴影物体成为唯一可行的选择。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM