Springboot發(fā)送post請求的幾種方式總結
更新時間:2024年01月10日 09:30:41 作者:qq_42607375
這篇文章主要為大家詳細介紹了Springboot發(fā)送post請求的幾種方式,文中的示例代碼講解詳細,對我們學習或工作有一定的幫助,感興趣的小伙伴可以了解一下
請求體為json形式
/*** url:請求路徑 content: 請求參數(shù),為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); // 創(chuàng)建HttpEntity,將JSON參數(shù)和請求頭添加到請求中 HttpEntity<String> requestEntity = new HttpEntity<>(content, headers); // 發(fā)送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發(fā)送post請求的幾種方式總結的文章就介紹到這了,更多相關Springboot發(fā)送post請求內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Spring Boot集成MyBatis-Plus 自定義攔截器實現(xiàn)動態(tài)表名切換功能
本文介紹了如何在SpringBoot項目中集成MyBatis-Plus,并通過自定義攔截器實現(xiàn)動態(tài)表名切換,此外,還探討了MyBatis攔截器在其他場景中的應用,如SQL日志記錄、多租戶數(shù)據(jù)隔離、數(shù)據(jù)權限控制等,感興趣的朋友跟隨小編一起看看吧2024-11-11解決Java 部署Tomcat時使用jni和jna調用DLL文件的問題
這篇文章主要介紹了解決Java 部署Tomcat時使用jni和jna調用DLL文件的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11MAC 系統(tǒng)如何使用 Sublime Text 2 直接編譯運行 java 代碼
這篇文章主要介紹了MAC 系統(tǒng)如何使用 Sublime Text 2 直接編譯運行 java 代碼,需要的朋友可以參考下2014-10-10java 異常被catch后 將會繼續(xù)執(zhí)行的操作
這篇文章主要介紹了java 異常被catch后 將會繼續(xù)執(zhí)行的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02