Spring自己封装的服务端Http请求框架RestTemplate 给我们省去了很多的麻烦,但是在使用过程中,由于不熟悉其中的执行原理,往往会踩到很多的坑,或者无法通过该框架强大的自定义功能实现我们特殊的业务需求。以下记录几篇遇到的讲的比较好的博文,懒得自己写了,丢下地址,有时间再总结。

关于RestTemplate:

  • RestTemplate是Spring提供的用于访问Rest服务的客户端,
  • RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率。
  • 调用RestTemplate的默认构造函数,RestTemplate对象在底层通过使用java.net包下的实现创建HTTP 请求,
  • 可以通过使用ClientHttpRequestFactory指定不同的HTTP请求方式。
  • ClientHttpRequestFactory接口主要提供了两种实现方式
  • 1、一种是SimpleClientHttpRequestFactory,使用J2SE提供的方式(既java.net包提供的方式)创建底层的Http请求连接。
  • 2、一种方式是使用HttpComponentsClientHttpRequestFactory方式,底层使用HttpClient访问远程的Http服务,使用HttpClient可以配置连接池和证书等信息。

基本使用篇

  1. 中规中矩的介绍了RestTemplate中常见的几种请求方式,并配有相应的代码实例,平时基本的使用足够了。详解 RestTemplate 操作
  2. 讲解springboot中使用RestTemplate实现负载功能的小例子;关键词:springboot,Ribbon,RestTemplate具有负载均衡功能的RestTemplate底层原理(九)
  3. 关于RestTemplate的比较详细的使用方式,包括自定义异常处理等内容,比较详细。RestTemplate实践
  4. 文章结尾有github开源小案例Spring RestTemplate中几种常见的请求方式
  5. springboot中的使用Spring Boot -REST访问(RestTemplate))

原理解析篇

  1. 一篇介绍RestTemplate内部执行逻辑的原理讲解型文章,配有UML图使得文章非常容易理解,很棒的一篇,推荐阅读。RestTemplate原理与使用

曾经遇到的坑

  1. 关于RestTemplate传参遇到的坑,Map的使用要注意了,Map 的类型选择很讲究

Java RestTemplate post请求传递参数遇到的坑