应用场景:1. 公司安全方面要求 对所有文件路径进行加密,好我们框架里之前加了统一父类,能获取到所有的出参和入参;
2. 由于文件路径都是string类型,因此想要用json序列化器,其实我暂且并不是很清楚哪个序列化api更好一些,因此就随机使用了google
直接上代码吧:
应用实例:
// 公司的出参 这里object可能是任何类型,因此要做下具体判断,比如排除 String(不对其进行序列化)
// 这里就省略了
Object response = new Object();
// 初始化google的json序列化器
GsonBuilder gsonBuilder = new GsonBuilder();
JsonSerializer<String> serializer = (filepath, typeOfSrc, context) ->
this.needAES(filePath) ? : this.jsonElementForredis(filePath) : newJsonPrimite();
// 注册指定要序列化的数据类型(这里文件路径是String类型,因此指定为String)
gsonBuilder.registerTyprAdapter(String,class, serializer);
// 创建序列化器
Gson gson = gsonBuilder.create();
// 将 response 进行序列化
String resStr = gson.toJson(response);
// 反序列化返回对象 结束文件路径处理,将返回对象按照原有格式进行返回
ObjectMapper mapper = new ObjectMapper();
try {
response = mapper.readValue(resStr, Object.class);
} catch(Exception e) {
Logger.error(“gson serializer error :{}”, e.getMessage());
}
return response;
结束语: 希望大家多多交流,有不对的地方,多多指证 本人原创,切勿抄袭!