Jackson @RestController Spring强制返回重复的嵌套对象

时间:2017-03-18 01:54:27

标签: spring jackson

我有一个包含嵌套对象的对象列表,我在Spring @RestController中作为响应返回,例如:

[{
          "id" : "10",
          "name" : "test",
          "createdBy" : {
            "id" : "10",
            "user" : {
              "id" : "55",
              "name" : "me"
            }
          }
    },
    {
          "id" : "13",
          "name" : "test 2",
          "createdBy" : 55
    }]

正如您所看到的,第一次嵌套对象被正确返回,但同一对象的第二次只返回id。

现在我想知道是否有办法迫使杰克逊总是解析嵌套对象,而不是只返回id。

1 个答案:

答案 0 :(得分:2)

如果我没记错,这不是默认行为。只有在配置了@JsonIdentityInfo时才会发生。

删除它将导致始终序列化为完整的POJO。

在不使用@JsonIdentityInfo时要小心杰克逊的无限循环。