问题
java.lang.ClassCastException: java.lang.String cannot be cast to com.github.xjs.sso.user_center.dto.LoginUser
问题:
就是我在一个boot项目使用服务器redis存了个token,然后我用另外一个boot项目去redis里取这个token,然后就报错,报序列化问题。
请教大哥的:
解决思路:
所以要不整成通用数据格式 :就是别用对象存先将对象转化json,然后存redis,取的时候json再转化成对象
例子:
解决办法:
引入依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.19</version>
</dependency>
存采用hutool
redisUtil.set(tk,JSONUtil.toJsonStr(userDB) ,600);
取得时候:fastjson
LoginUser user = JSONObject.parseObject((String) redisUtil.get(extra), LoginUser.class);