淺談springboot 中如何通過restTemplate發送帶有header和token的網絡請求


最近在進行第三方接口對接,在對接過程中要用到大量的restTemplate的使用,個人覺得restTemplate裝載帶token的header發送網絡請求是很重要的一個知識點,我在這里簡單記錄下:

第一步,注入TestRestTemplate:

  @Autowired
    private TestRestTemplate testRestTemplate;
    private RestTemplate restTemplate;

  

第二步,初始化restTemplate:
  restTemplate = testRestTemplate.getRestTemplate();

 第三步,填充header,將token信息和content-type寫入header中,沒有content-type讀取時是也會報錯的:

 HttpHeaders headers = new HttpHeaders();
 headers.add("Authorization", stringRedisTemplate.opsForValue().get("token"));
headers.add("Content-Type", "application/json");

第四步,填裝數據,這里的數據用json的方式發送,也可以用其它方式,比如string:

JSONObject para = new JSONObject();
        para.put("StartTime", param.get("startTime"));
        para.put("EndTime", param.get("endTime"));
        para.put("AlarmType", param.get("alarmType"));
        para.put("AlarmDesc", param.get("alarmDesc"));
        para.put("QueryType", param.get("queryType"));
        para.put("QueryKey", param.get("queryKey"));di

第五步,發送請求給第三方並獲得數據:

  HttpEntity<String> formEntity = new HttpEntity<String>(para.toJSONString(), headers);
        ResponseEntity<String> response = restTemplate.exchange(
            URL,//獲取資源的地址
            HttpMethod.POST,
            formEntity,
            String.class//返回類型設為String
        );
        String body = response.getBody();

  這樣就實現了帶header的消息發送。


免責聲明!

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



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