Springboot发送post请求的几种方式总结
更新时间:2024年01月10日 09:30:41 作者:qq_42607375
这篇文章主要为大家详细介绍了Springboot发送post请求的几种方式,文中的示例代码讲解详细,对我们学习或工作有一定的帮助,感兴趣的小伙伴可以了解一下
请求体为json形式
/*** url:请求路径 content: 请求参数,为json字符串 token: 请求认证token,放置在请求头里 */ public ResponseEntity<String> callApi(String url, String content, String token) { RestTemplate restTemplate = new RestTemplate(); // 设置请求头,指定Content-Type为application/json HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); // 添加Authorization头 headers.add(Constants.AUTHORIZATION, Constants.TOKEN_PREFIX + shareToken); // 创建HttpEntity,将JSON参数和请求头添加到请求中 HttpEntity<String> requestEntity = new HttpEntity<>(content, headers); // 发送POST请求 ResponseEntity<String> responseEntity = restTemplate.exchange(url, HttpMethod.POST, requestEntity, String.class); return responseEntity; }
请求体为x-www-form-urlencoded
public ResponseEntity<String> callApi(String url, String content, String token) { RestTemplate restTemplate = new RestTemplate(); // 设置请求头,指定Content-Type为application/json HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); // 添加Authorization头 headers.add(Constants.AUTHORIZATION, Constants.TOKEN_PREFIX + shareToken); JSONObject jsonObject = JSONObject.parseObject(content); // 将解析后的 JSON 对象转换为 MultiValueMap MultiValueMap<String, Object> formData = new LinkedMultiValueMap<>(); for (String key : jsonObject.keySet()) { formData.add(key, jsonObject.get(key)); } HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(formData, headers); responseEntity = restTemplate.exchange(url, HttpMethod.POST, requestEntity, String.class); return responseEntity; }
请求体为form-data
public ResponseEntity<String> callApi(String url, String content, String token) { RestTemplate restTemplate = new RestTemplate(); // 设置请求头,指定Content-Type为application/json HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.MULTIPART_FORM_DATA_VALUE); // 添加Authorization头 headers.add(Constants.AUTHORIZATION, Constants.TOKEN_PREFIX + shareToken); JSONObject jsonObject = JSONObject.parseObject(content); // 将解析后的 JSON 对象转换为 MultiValueMap MultiValueMap<String, Object> formData = new LinkedMultiValueMap<>(); for (String key : jsonObject.keySet()) { formData.add(key, jsonObject.get(key)); } HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(formData, headers); responseEntity = restTemplate.exchange(url, HttpMethod.POST, requestEntity, String.class); return responseEntity; }
到此这篇关于Springboot发送post请求的几种方式总结的文章就介绍到这了,更多相关Springboot发送post请求内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Spring Boot如何配置内置Tomcat的maxPostSize值
这篇文章主要介绍了Spring Boot如何配置内置Tomcat的maxPostSize值方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-08-08spring cloud config分布式配置中心的高可用问题
本文给大家介绍spring cloud config分布式配置中心的高可用问题,通过整合Eureka来实现配置中心的高可用,需要的朋友参考下本文2018-01-01
最新评论