RestTemplate.exchange无法正常工作,参数传递失败
一开始使用的是 HashMap
参考原来写的添加参数:
Map<String, Object> paramMap = new HashMap<>();
paramMap.put(key, value);
后来发现请求的另一个服务通过 @RequestParam
并不能获取到参数,还会报错。添加 @RequestParam(required = false)
是可以不报错,但参数丢了是个大问题。
网上百度到一篇文章提到了 RestTemplate 传递参数的坑:
HashMap是以请求体传递,MultiValueMap是表单传递
按照实例更换成 MultiValueMap:
Map<String, Object> paramMap = new LinkedHashMap<String, Object>();
paramMap.add(key, value);
再次提交果然 ok 了。