这两天群里有不少人在远程办公,有人在使用 RestTemplate 发送 post 请求,遇到了参数传递问题。本文写了一个简单的 post 参数传递的案例,希望能对大家有所帮助!
对于 http 的 post 请求,如果参数传递的不对,很可能会发生 4xx 错误。比如,401 参数错误,400 路径参数错误等问题。
还有一些人使用 RestTemplate 发送 post 请求发生错误,可能是用法不对。
比如,post 请求的参数不能用 HashMap 封装,应该使用 MultiValueMap,这就是一个坑。
下面给大家提供一个完整的实例,代码如下所示:
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
MultiValueMap<String, String> map= new LinkedMultiValueMap<String, String>();
map.add("email", "taoge@xttblog.com");
map.add("url", "www.xttblog.com");
map.add("name", "");
HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<MultiValueMap<String, String>>(map, headers);
ResponseEntity<String> response = restTemplate.postForEntity(url, request, String.class);
参考资料
- How to POST form data with Spring RestTemplate
- Using Spring RestTemplate to POST params with objects
- RestTemplate post如何传递参数
: » RestTemplate 发送 post 请求传递参数教程
原创文章,作者:kirin,如若转载,请注明出处:https://blog.ytso.com/252185.html