碰到个问题,http请求接口,返回 Response<JavaBean> 类型数据
application/json 协议,返回字符串,直接解析的话,只把外层Response反序列化了, 内部 JavaBean 对象变成了JsonObject类型,需要序列化的时候执行类型
fastjson内置反序列化类型方法,直接使用即可:
Type type = new TypeReference<Response<PolicyResVO>>(){}.getType();
Response<JavaBean> res = JSONObject.parseObject(result, type);
RestTemplate的话,可以指定返回String,再使用fastjson反序列化
ResponseEntity<String> response = restTemplate.postForEntity(url, requestEntity, String.class);
Type type = new TypeReference<Response<JavaBean>>(){ }.getType();
Response<JavaBean> res = JSONObject.parseObject(response.getBody(), type);
其他方式类似