Spring REST响应显示原始Java对象而不是JSON元素

时间:2019-03-09 12:15:46

标签: java json spring jackson

在我的Spring应用程序中,我有一个对象FooBar,当向端点发出请求时,REST返回此对象:

{
"item":"foo",
"value":"bar"
}

但是我创建了另一个具有Map<String, FooBar>的Object FooBarMap 和另一个端点返回FooBarMa,现在我得到的是类似的东西:

{
"name":"Jimmy",
"foobar":"foobarmap@b7f23d9"
}

所以从本质上讲,我正在获取原始对象,而不是序列化为JSON

我希望:

{
"name":"Jimmy",
"foobar":{
  "item":"foo",
  "value":"bar"
 }
}

1 个答案:

答案 0 :(得分:1)

您的FooBarMap类应该像下面这样

而不是使用Map<String, Foobar>

FooBarMap

public class FooBarMap{

String name;
FooBar foobar;

//Setter & Getter
}

FooBar

public class FooBar{

String item;
String value;

//setter & getters
}

然后在设置FoorBarMap属性期间,您也可以设置FooBar类属性。