spring整合cartche报错Null key returned for cache operation

{
  "timestamp": 1518593096087,
  "status": 500,
  "error": "Internal Server Error",
  "exception": "java.lang.IllegalArgumentException",
  "message": "Null key returned for cache operation (maybe you are using named params on classes without debug info?) Builder[public java.lang.Long com.wonders.service.UserInfoServiceImpl.getUserBySpringCatche(com.wonders.entity.UserInfo)] caches=[userInfo] | key='#userInfo.uid' | keyGenerator='' | cacheManager='' | cacheResolver='' | condition='' | unless='' | sync='false'",
  "path": "/springboot/getUserBySpringCatche"

}


先看核心代码:

@RequestMapping(value = "/getUserBySpringCatche",method = RequestMethod.POST)
public Long getUserBySpringCatche(UserInfo userInfo){
    return userInfoService.getUserBySpringCatche(userInfo);
}


@Override
@Cacheable(value = "userInfo", key = "#userInfo.uid")
public Long getUserBySpringCatche(UserInfo userInfo) {
    Long id = userInfo.getUid();
    UserInfo u1 = userInfoMapper.selectUserByCatche(id);
    System.out.println("查询结束为主键id为:" + id + "的数据做了缓存");


    return userInfo.getUid();
}

报错原因:少加了

@RequestBody注解

public Long getUserBySpringCatche(@RequestBody UserInfo userInfo){
    return userInfoService.getUserBySpringCatche(userInfo);
}

你可能感兴趣的:(报错解决方案)