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;
    }

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值