RestTemplate.postForObject泛型丢失返回LinkedHashMap,无法转换为java bean如何解决

使用RestTemplate.postForObject方法远程调用接口,返回的时候会自动转成LinkedHashMap,此时如果想讲返回转换为java bean,会造成ClassCastException类型转换异常

解决办法如下:

第一种解决办法:

JSONObject jsonObject = restTemplate.postForObject(url, outletRequestDto, JSONObject.class);
OutletVO outletVO = jsonObject.getObject("data", OutletVO.class);

第二种解决办法:

 ReturnData returnData = restTemplate.postForObject(url, outletRequestDto, ReturnData.class);

ObjectMapper mapper = new ObjectMapper();
OutletVO outletVO = mapper.convertValue(returnData.getData(), OutletVO.class);

你可能感兴趣的:(Spring,Boot,java)