|
|
@ -6,6 +6,8 @@ import org.springframework.data.redis.serializer.SerializationException; |
|
|
|
import com.alibaba.fastjson2.JSON; |
|
|
|
import com.alibaba.fastjson2.JSONReader; |
|
|
|
import com.alibaba.fastjson2.JSONWriter; |
|
|
|
import com.alibaba.fastjson2.filter.Filter; |
|
|
|
import com.ruoyi.common.constant.Constants; |
|
|
|
|
|
|
|
/** |
|
|
|
* Redis使用FastJson序列化 |
|
|
@ -16,6 +18,8 @@ public class FastJson2JsonRedisSerializer<T> implements RedisSerializer<T> |
|
|
|
{ |
|
|
|
public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8"); |
|
|
|
|
|
|
|
static final Filter AUTO_TYPE_FILTER = JSONReader.autoTypeFilter(Constants.JSON_WHITELIST_STR); |
|
|
|
|
|
|
|
private Class<T> clazz; |
|
|
|
|
|
|
|
public FastJson2JsonRedisSerializer(Class<T> clazz) |
|
|
@ -43,6 +47,6 @@ public class FastJson2JsonRedisSerializer<T> implements RedisSerializer<T> |
|
|
|
} |
|
|
|
String str = new String(bytes, DEFAULT_CHARSET); |
|
|
|
|
|
|
|
return JSON.parseObject(str, clazz, JSONReader.Feature.SupportAutoType); |
|
|
|
return JSON.parseObject(str, clazz, AUTO_TYPE_FILTER); |
|
|
|
} |
|
|
|
} |
|
|
|