应用场景: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;

 结束语: 希望大家多多交流,有不对的地方,多多指证 本人原创,切勿抄袭!

03-13 20:23