记录平时代码上遇到的坑
1.feign传参问题
- 描述: 使用feign调用时报错:org.springframework.core.convert.ConverterNotFoundException: hashmap 不能转换成string
- 分析: 调用的时候传递的参数包含:List<Map<String,Object>>类型。
- 解决:
- 在客户端将List<Map<String,Object>>转换成JSON字符串传递。 JSON.toJSONString(List<Map<String,Object>>)
2. 服务端转换回来:
public static List<Map<String, Object>> toListMap(String json){ List<Object> list =JSON.parseArray(json); List< Map<String,Object>> listw = new ArrayList<Map<String,Object>>(); for (Object object : list){ Map<String,Object> ageMap = new HashMap<String,Object>(); Map <String,Object> ret = (Map<String, Object>) object;//取出list里面的值转为map listw.add(ret); } return listw; }
- 在客户端将List<Map<String,Object>>转换成JSON字符串传递。 JSON.toJSONString(List<Map<String,Object>>)
2、List.parallelStream()
1. 描述: 在代码中使用了List.parallelStream() 和ArrayList搭配使用,导致返回数据有时为null。
2. 分析:arrayList线程不安全,当线程多时,会同时操作同一个下标,导致后一个覆盖前一个。
3. 解决 List<String> lists = Collections.synchronizedList(Lists.newArrayList());