什么是 RestTemplates?

RestTemplate 采用同步方式执行 HTTP 请求的类,底层使用 JDK 原生 HttpURLConnection API ,或者 HttpComponents等其他 HTTP 客户端请求类库。还有一处强调的就是 RestTemplate 提供模板化的方法让开发者能更简单地发送 HTTP 请求。

RestTemplates APIs

方法名 描述
getForObject 通过 GET 请求获得响应结果
getForEntity 通过 GET 请求获取 ResponseEntity 对象,包容有状态码,响应头和响应数据
headForHeaders 以 HEAD 请求资源返回所有响应头信息
postForLocation 用 POST 请求创建资源,并返回响应数据中响应头的字段 Location 的数据
postForObject 通过 POST 请求创建资源,获得响应结果
put 通过 PUT 方式请求来创建或者更新资源
patchForObject 通过 PATH 方式请求来更新资源,并获得响应结果。(JDK HttpURLConnection 不支持 PATH 方式请求,其他 HTTP 客户端库支持)
delete 通过 DELETE 方式删除资源
optionsForAllow 通过 ALLOW 方式请求来获得资源所允许访问的所有 HTTP 方法,可用看某个请求支持哪些请求方式
exchange 更通用版本的请求处理方法,接受一个 RequestEntity 对象,可以设置路径,请求头,请求信息等,最后返回一个 ResponseEntity 实体
execute 最通用的执行 HTTP 请求的方法,上面所有方法都是基于 execute 的封装,全面控制请求信息,并通过回调接口获得响应数据

如何使用

结合前面的例子,写一个单元测试用例

参考

https://juejin.cn/post/6844903842065154061
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/client/RestOperations.html