浅谈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