RestTemplate 調用第三方接口


工作中遇到實名認證的接口
需要調第三方API
所以順便學一下RestTemplate 的使用
但是傳post的時候怎么放入請求頭是一個問題

教程

我使用的方法

我出現的問題
我發的json請求 事實上這個api是query parameter

當然不能忘了加appCode在請求頭

最后成功的代碼

 @PostMapping(value = "/testPostApi")
    public Object testPost(@RequestBody JSONObject param) throws URISyntaxException {
        RestTemplate restTemplate = new RestTemplate();
        URI uri = new URI("https://eid.shumaidata.com/eid/check");
        String appCode = "52cc0ea3aaf24eb7a1250f327fea9f25";
        HttpHeaders headers = new HttpHeaders(); 
        headers.add("Authorization", "APPCODE " + appCode); 
        //添加參數,因為HttpEntity里面的參數是MultiValueMap類型的,所以使用這個map集合 
        MultiValueMap<String, String> map = new LinkedMultiValueMap<>(); 
        map.add("idcard","4211216456563582416");  
        map.add("name", "張ad");
        //添加請求的實體類,這里第一個參數是要發送的參數,第二個參數是請求頭里的數據
        HttpEntity<Object> requestEntity = new HttpEntity<>(map, headers);
        //跟下面使用交換機的方法結果一樣   
        ResponseEntity<String> exchange = restTemplate.exchange(uri, HttpMethod.POST, requestEntity, String.class);
        JSONObject jsonObject = JSON.parseObject(exchange.getBody());
        System.out.println(jsonObject);
        return jsonObject;
    }


免責聲明!

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



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