SpringBoot学习

057-RestTemplate请求接口

2018-11-02  本文已影响158人  郭艺宾

借助 RestTemplate,Spring应用能够方便地使用REST资源。Spring的 RestTemplate访问使用了模版方法的设计模式.模版方法将过程中与特定实现相关的部分委托给接口,而这个接口的不同实现定义了接口的不同行为.

RestTemplate定义了36个与REST资源交互的方法,其中的大多数都对应于HTTP的方法。其实,这里面只有11个独立的方法,其中有十个有三种重载形式,而第十一个则重载了六次,这样一共形成了36个方法。

delete() 在特定的URL上对资源执行HTTP DELETE操作

exchange()在URL上执行特定的HTTP方法,返回包含对象的ResponseEntity,这个对象是从响应体中映射得到的

execute() 在URL上执行特定的HTTP方法,返回一个从响应体映射得到的对象

getForEntity() 发送一个HTTP GET请求,返回的ResponseEntity包含了响应体所映射成的对象

getForObject() 发送一个HTTP GET请求,返回的请求体将映射为一个对象

postForEntity() POST 数据到一个URL,返回包含一个对象的ResponseEntity,这个对象是从响应体中映射得到的

postForObject() POST 数据到一个URL,返回根据响应体匹配形成的对象

headForHeaders() 发送HTTP HEAD请求,返回包含特定资源URL的HTTP头

optionsForAllow() 发送HTTP OPTIONS请求,返回对特定URL的Allow头信息

postForLocation() POST 数据到一个URL,返回新创建资源的URL

put() PUT 资源到特定的URL

大家可以看到,Spring的RestTemplate提供了对这么多HTTP method的支持。一般来说大家对GET,POST的使用场景比较多,因此下面以这两个为例,简单的说下它的使用。

先来看下RestTemplate 的类路径:

org.springframework.web.client.RestTemplate

可以通过上面的路径看出RestTemplate 是web下,项目中只需要加入spring-web的依赖就可以了。在使用之前,先注册成bean:

然后启动一个生产服务,写四个接口:

四个接口分别包含了get和post有参无参的情况,下面启动一个消费者服务,在代码中调用这四个接口:

上面调用get无参接口,第一个参数是接口地址,第二个参数是回参接收类型。

第二个接口:

这个调用分为三个参数,第一个是接口链接拼上接口参数,第二个是接口回参类型,第三个是调用接口传入的参数,在实际中一般用JavaBean类组合。

第三个和第四个接口:

这两个接口调用的是相同的方法,第一个参数是接口连接,第二个是参数,没有可以传null,第三个是接口回参的类型。

上面四个例子可以看到RestTemplate的使用有多简单,其它方法就不再一一举例子,有兴趣可以查看文档或者搜索自行学习使用。

代码:https://gitee.com/blueses/spring-boot-demo

上一篇 下一篇

猜你喜欢

热点阅读