欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Springboot發(fā)送post請求的幾種方式總結(jié)

 更新時(shí)間:2024年01月10日 09:30:41   作者:qq_42607375  
這篇文章主要為大家詳細(xì)介紹了Springboot發(fā)送post請求的幾種方式,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)或工作有一定的幫助,感興趣的小伙伴可以了解一下

請求體為json形式

/***
url:請求路徑
content: 請求參數(shù),為json字符串
token: 請求認(rèn)證token,放置在請求頭里
*/
public ResponseEntity<String> callApi(String url,  String content, String token) {
        RestTemplate restTemplate = new RestTemplate();
        // 設(shè)置請求頭,指定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();
        // 設(shè)置請求頭,指定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 對象轉(zhuǎn)換為 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();
        // 設(shè)置請求頭,指定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 對象轉(zhuǎn)換為 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;
    }

到此這篇關(guān)于Springboot發(fā)送post請求的幾種方式總結(jié)的文章就介紹到這了,更多相關(guān)Springboot發(fā)送post請求內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論