SpringBoot中如何高效运用RestTemplate进行API调用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计318个文字,预计阅读时间需要2分钟。
一、背景介绍在微服务架构下,服务间通信通常采用HTTP接口进行暴露。由于服务调用需要远程访问,因此必须使用HTTP客户端。
二、实现方式我们可以使用JDK原生的URLConnection、Apache的HttpClient或Netty的异步HTTP实现HTTP客户端。
一、背景介绍
在微服务架构下都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端。我们可以使用JDK原生的URLConnection、Apache的Http Client、Netty的异步HTTP Client, Spring的RestTemplate。这里介绍的是RestTemplate。RestTemplate底层使用HttpClient和OkHttp,对其做了封装,使用起来更简单。
1、什么是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可以配置连接池和证书等信息。
- 3、第三种方式是使用OkHttp3ClientHttpRequestFactory方式,底层使用OkHttp访问远程的Http服务,使用HttpClient可以配置连接池和证书等信息。
其实spring并没有真正的去实现底层的zhuanlan.zhihu.com/p/142011874
www.cnblogs.com/wyq178/p/9058030.html
www.cnblogs.com/yuexiaoyun/articles/13034028.html
zhuanlan.zhihu.com/p/108765123
www.cnblogs.com/wzk-0000/p/10955406.html
本文共计318个文字,预计阅读时间需要2分钟。
一、背景介绍在微服务架构下,服务间通信通常采用HTTP接口进行暴露。由于服务调用需要远程访问,因此必须使用HTTP客户端。
二、实现方式我们可以使用JDK原生的URLConnection、Apache的HttpClient或Netty的异步HTTP实现HTTP客户端。
一、背景介绍
在微服务架构下都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端。我们可以使用JDK原生的URLConnection、Apache的Http Client、Netty的异步HTTP Client, Spring的RestTemplate。这里介绍的是RestTemplate。RestTemplate底层使用HttpClient和OkHttp,对其做了封装,使用起来更简单。
1、什么是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可以配置连接池和证书等信息。
- 3、第三种方式是使用OkHttp3ClientHttpRequestFactory方式,底层使用OkHttp访问远程的Http服务,使用HttpClient可以配置连接池和证书等信息。
其实spring并没有真正的去实现底层的zhuanlan.zhihu.com/p/142011874
www.cnblogs.com/wyq178/p/9058030.html
www.cnblogs.com/yuexiaoyun/articles/13034028.html
zhuanlan.zhihu.com/p/108765123
www.cnblogs.com/wzk-0000/p/10955406.html

