目录
第六章 远程访问@HttpExchange[SpringBoot 3]
第六章 远程访问@HttpExchange[SpringBoot 3]
远程访问是开发的常用技术,一个应用能够访问其他应用的功能。Spring Boot提供了多种远程访问的技术。 基于HTTP协议的远程访问是支付最广泛的。Spring Boot3提供了新的HTTP的访问能力,通过接口简化HTTP远程访问,类似Feign功能。Spring包装了底层HTTP客户的访问细节。
SpringBoot中定义接口提供HTTP服务。生成的代理对象实现此接口,代理对象实现HTTP的远程访问。需要理解:
- @HttpExchange
- WebClient
WebClient特性:
我们想要调用其他系统提供的 HTTP 服务,通常可以使用 Spring 提供的 RestTemplate 来访问,RestTemplate 是 Spring 3 中引入的同步阻塞式 HTTP 客户端,因此存在一定性能瓶颈。Spring 官方在 Spring 5 中引入了 WebClient 作为非阻塞式HTTP 客户端。
- 非阻塞,异步请求
- 它的响应式编程的基于Reactor
- 高并发,硬件资源少。
- 支持Java 8 lambdas 函数式编程
什么是异步非阻塞
理解:异步和同步,非阻塞和阻塞
上面都是针对对象不一样
异步和同步针对调度者,调用者发送请求,如果等待对方回应之后才去做其他事情,就是同步,如果发送请求之后不等着对方回应就去做其他事情就是异步
阻塞和非阻塞针对被调度者,被调度者收到请求后,做完请求任务之后才给出反馈就是阻塞,收到请求之后马上给出反馈然后去做事情,就是非阻塞
6.1.1.1 准备工作:
1.安装GsonFormat插件,方便json和Bean的转换
2.介绍一个免费的、24h在线的Rest Http服务,每月提供近20亿的请求,关键还是免费的、