背景
这段时间自己做的项目中需要调用服务提供者的服务(接口),具体就是:我这边需要将页面所输入的 Groovy 脚本代码传给别人提供的服务接口,然后那边返回脚本编译的结果给我,我需要将编译结果展示在页面,用的就是 RestTemplate 了,那 RestTemplate 是什么呢?简单说就是:简化了发起 HTTP 请求以及处理响应的过程,并且支持 REST 。下文就稍微总结下。
如何使用
先讲讲如何使用吧,我项目是 SpringBoot 项目,可以在启动类中加入:
然后在 Controller 层中引入:
接下来就可以在 Controller 中各个方法中使用 restTemplate 了,但是 restTemplate 里面有什么方法呢?
RestTemplate 内部方法
从图中 RestTemplate 可以看到有很多方法,我们可以提取出主要的几种方法是:
- GET
- POST
- PUT
- DELETE
- HEAD
- OPTIONS
- EXCHANGE
- EXECUTE
图片中依然可以知道 RestTemplate 类中的方法主要是来自接口 RestOperations,下面我们具体看看这些方法里面的具体实现与该如何使用。
Get 方法
在 RestTemplate 中,发送一个 GET 请求,我们可以通过如下两种方式:
getForEntity
getForEntity 方法的返回值是一个ResponseEntity<T>
,ResponseEntity<T>
是 Spring 对 HTTP 请求响应的封装,包括了几个重要的元素,如响应码、contentType、contentLength、响应消息体等。比如下面一个例子: