浅谈springboot 中如何通过restTemplate发送带有header和token的网络请求

摘要:
最近,第三方接口正在对接,对接过程中使用了大量restTemplates。就个人而言,我认为restTemplates加载带有令牌的头来发送网络请求是一个重要的知识点。我只是在这里记录:步骤1,注入TestRestTemplate:@AutowiredprivateTestRestTemplateestRestTemplate;私人Rest Templ

最近在进行第三方接口对接,在对接过程中要用到大量的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的消息发送。

免责声明:文章转载自《浅谈springboot 中如何通过restTemplate发送带有header和token的网络请求》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇最小相位系统maven 配置报错 JAVA_HOME not found in your environment下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C#完整的通信代码(点对点,点对多,同步,异步,UDP,TCP)

原文引自:http://www.cnblogs.com/DebugLZQ/archive/2011/08/09/2132423.htmlC# code namespace UDPServer { class Program { static void Main(string[] args) { int recv; byte[] data = new byt...

spring-boot-route 读取配置文件的几种方式

Spring Boot提供了两种格式的配置文件,分别是properties 和 yml。Spring Boot最大的特点就是自动化配置,如果我们想修改自动化配置的默认值,就可以通过配置文件来指定自己服务器相关的参数。 配置文件集约管理了配置信息,如果把配置参数写到Java代码中,维护起来非常不方便,如果使用配置文件,我们可以统一管理,统一修改。我比较推荐使...

Kotlin语法 入门篇章(1)

Java和Kotlin数据类型对比表 Java基本数据类型 Kotlin对象数据类型 数据类型说明 int Int 整形 long Long 长整型 short Short 短整形 floa Float 单精度浮点型 double Double 双精度浮点型 boolean Boolean 布尔型 char Char 字符...

【翻译】Flink Table API &amp;amp; SQL 自定义 Source &amp;amp; Sink

本文翻译自官网:https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/table/sourceSinks.html TableSource 提供访问存储在外部系统(数据库、key-value 存款,消息队列)或文件中的数据的权限。TableSource 在 TableEnviron...

Swift开发中 JSON对象/JSON字符串/Data的互转

本文将介绍Swift开发中常用的转换(JSON对象/JSON字符串/Data之间的互相转换) #pragma mark - JSON(对象)----->JSON字符串 1、原生方法 //JSON--->data--->JSON字符串 let data = try?JSONSerialization.data(withJSONObject:...

使用JDBC进行简单的增删改查

JDBC为java的基础。用jdbc实现对数据库的增删改查的功能是程序员的基本要求。本例以mysql为例,首先要使用本例需要添加mysql-connector-java-5.1.7-bin.jar包。专门用来加载jdbc的驱动。如果数据库为oracle,相应的jar包换为ojdbc6.jar。 通过下面的代码可以练习一下,掌握jdbc的使用方法,自己可以对...