Я использую feign для получения userIdList Long.
feign:
@GetMapping("getUsername/{userId}")
ResultBean getUsername(@PathVariable("userId") Long userId);
ResultBean:
public class ResultBean<T>{
private String statusCode;
private T data;
}
метод getGroupUserIds:
@GetMapping("getGroupUserIds/{groupId}")
@ResponseBody
public ResultBean getGroupUserIds(@PathVariable Long groupId){
List<Long> userList = ssoService.getGroupUserIds(groupId);
logger.info("getGroupUserIds返回{}:{}",groupId,userList.size());
return new ResultBean(ResultBeanConstant.OK, userList);
}
метод getByUserId:
public Channel getByUserId(Long userId) {
return channels.get(userId);
}
Но когда я использую значение:
List<Long> userIds = (List<Long>) resultBean.getData();
log.info("userIds:{}",userIds.size());
for (int i = 0; i < userIds.size(); i++) {
Channel channel = getByUserId(userIds.get(i));
if (channel!=null) {
channelList.add(channel);
}
}
, он сообщает: java .lang.ClassCastException : java .lang.Integer не может быть приведен к java .lang.Long
Я не знаю, где что-то не так, с журналами все в порядке, значение получает bean-компонент и возвращает его. Но почему Long превратился в Integer?