feignclient 原理
FeignClient是一个基于注解的声明式Web Service客户端,它可以轻松地与RESTful服务端集成。其原理主要涉及到以下几个方面:
1. 采用动态代理技术:FeignClient在运行时创建了一个接口的代理对象,该代理对象能够处理接口方法的调用请求,并将其转化为HTTP请求发送给服务端。
2. 基于SpringMVC:FeignClient利用SpringMVC的注解来定义服务端API的路径、请求方法、请求头、请求体等信息,并将这些信息封装在HTTP请求中发送到服务端。
3. 自带负载均衡:FeignClient内置了Ribbon负载均衡器,可以自动为请求选择合适的服务实例。restful接口调用实例
4. 使用Apache HttpClient或OkHttp发送请求:FeignClient默认使用Apache HttpClient发送请求,同时也支持切换为OkHttp。
综上所述,FeignClient基于动态代理技术和SpringMVC注解将接口方法转化为HTTP请求,并内置了负载均衡和发送请求的功能,从而实现了与RESTful服务端的无缝集成。