Spring Boot 使用RestTemplate發送POST請求


不說廢話,直接上一個筆者寫的共通方法

    /**
     * post請求
     *
     * @param postUrl
     * @param param
     * @return java.lang.String
     * @author He
     * @date 2020/8/28 19:35
     **/
    public static <T> T post(String postUrl, Object param, Class<T> type) {
        RestTemplate restTemplate = new RestTemplate();
        restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8));

        HttpHeaders headers = new HttpHeaders();
        // 設置驗簽用的數據
        // headers.add("Accept", MediaType.APPLICATION_JSON.toString());
        // headers.add("Authorization", token);
        // 設置content-type,很據需求設置
        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);

        // 設置請求體
        MultiValueMap<String, String> map = new LinkedMultiValueMap<>();
        String con = JSON.toJSONString(param);
        map.add("param", con);
        // 用HttpEntity封裝整個請求報文
        HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<>(map, headers);

        ResponseEntity<String> response = restTemplate.postForEntity(postUrl, request, String.class);
        return JSON.parseObject(response.getBody(), type);
    }

HttpClient對接方式,可查看筆者的另一篇文章《HttpClient接口調用》


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM