Skip to content

Redis遇到的问题Could not resolve type id ** into a subtype解决办法

  • 业务场景:app和web端分别对应两个后端,app登录成功后,习惯性地将用户实体类User存储到redis中,当web携带token访问后端时,想通过token获取redis中的User对象,但是app的后端和web的后端的User对象的全路径类名不同,进而导致强制转换的时候报错

  • 解决方式

    • 方式一:确保二者的后端公用同一个实体类的模块(生产环境下不现实)
    • 方式二:换一种方式保存,比如JSONObject(推荐)
  • 补充:fastjson中常用的操作

    java
    // Java对象转换成String类型的JSON字符串
    JSONObject.toJSONString(Java对象)
    
    // String类型的JSON字符串转换成Java对象
    JSONObject.toJavaObject(JSON字符串, Java对象.class)
     
    // Json字符串转换成JSONObject对象
    JSONObject.parseObject(JSON字符串)
     
    // JSON字符串转换成Java对象
    JSONObject.parseObject(JSON字符串, Java对象.class)

MIT版权,未经许可禁止任何形式的转载