如果定义feign接口为
@PostMapping("/user/queryUserByAccountStatus")
BaseResult queryUserByAccountStatus(@RequestBody AccountsTenantIdStatusArg arg);
其中BaseResult的范性应该为List<UserVO> ,如果没有写,那么返回的结果就会变成List<LinkedHashMap>,这样就导致一些去参数错误。最后把尝试把接收到的结果转成json串,再从json串转成相应范型对象就解决问题,但是这样非常消耗性能,最后尝试在feign接口上加范性,所有问题解决。
改为:
@PostMapping("/user/queryUserByAccountStatus")
BaseResult<List<UserVO>> queryUserByAccountStatus(@RequestBody AccountsTenantIdStatusArg arg);
原因是泛型,或者是对象是Obejct类型
解决方案1:
ObjectMapper mapper = new ObjectMapper();
OrderSourceVo orderSourceVo = mapper.convertValue(ajaxResponseVo.getResult(), OrderSourceVo.class);
另:RestTemplate.getForObject将POJO中List<T>的泛型变成LinkedHashMap问题的解决
https://blog.csdn.net/amosryan/article/details/54019479
解决方案2:
直接返回该对象类型