【发布时间】:2018-04-17 15:17:58
【问题描述】:
我正在尝试从一个简单的 ajax 对象中获取一些数据。我多次返回这样的对象,但这个对象给了我
GET http://localhost:8080/loggedUsersnet::ERR_INCOMPLETE_CHUNKED_ENCODING
服务器出现错误...
java.lang.StackOverflowError
at java.lang.Exception.<init>(Exception.java:66)
at java.io.IOException.<init>(IOException.java:58)
at com.fasterxml.jackson.core.JsonProcessingException.<init>(JsonProcessingException.java:25)
at com.fasterxml.jackson.core.JsonProcessingException.<init>(JsonProcessingException.java:41)
at com.fasterxml.jackson.databind.JsonMappingException.<init>(JsonMappingException.java:251)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:734)
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155)
....无数次
如果我在 return 上设置一个断点,我想要的一切似乎都在那里。而且只有 1 个用户,所以数据不多。
控制器
@RequestMapping(value = "/loggedUsers", method = RequestMethod.GET)
public @ResponseBody List<User> getLoggedUsers() {
Map<String,User> users = User.getUsers().stream().collect(Collectors.toMap(User::getUsername, Function.identity()));
List<User> onlineUsers = new ArrayList<>();
for(String username : activeUsers.getUsers()) {
User user = users.get(username);
if(user != null) {
onlineUsers.add(user);
}
}
return onlineUsers;
}
AJAX
//get loggedUsers
$.ajax({
url: '/loggedUsers',
type: 'get',
success: function (loggedUsers) {
console.log(loggedUsers);
}
});
【问题讨论】:
-
用户对象的 decodedImage 是一个大的 String64 字符串,但我认为这不是问题......
-
我看到错误我的用户对象有 userRole 并且 userRole 有用户对象。所以这是一个无限循环。现在呢??
-
你能附上用户类吗?我想可能是对 User 作为类字段的内部引用
标签: javascript java jquery spring