OpenFeign远程调用返回List接收失败,这是提取响应类型报错,项目有全局的Result封装对象,然后这里调用feign接口返回值类型只写了Data的类型
这里使用@JsonCompont注解,解决响应问题,调用成功在进行一次转json再转list的方式解决报错,因为调用成功后会出现无法解析响应结果的问题
try {
R r = wareServiceFeign.isHasStock(skuIdList);
if(r.getCode() == 0){
List<WareHasStockDTO> hasStockList = (List<WareHasStockDTO>) r.get("hasStockList");
ObjectMapper objectMapper = new ObjectMapper();
String str = objectMapper.writeValueAsString(hasStockList);
JavaType javaType = objectMapper.getTypeFactory().constructParametricType(List.class, WareHasStockDTO.class);
hasStockList = objectMapper.readValue(str,javaType);
hasStockMap = hasStockList.stream()
.collect(Collectors.toMap(item->item.getSkuId(), item->item.getHasStock()));
}
}catch (Exception e){
e.printStackTrace();
}