Feign底层调用有两种:使用JDK自带的URLConnection或使用Apache HttpClient。
URLConnection是JDK自带的HTTP客户端,但它的API不太方便,需要自己处理输入输出流。
而HttpClient是Apache提供的HTTP客户端,API更加友好,支持连接池、请求拦截器、SSL等,但需要添加依赖。
通过配置Feign的Encoder和Decoder,可以实现将请求和响应文本转换为Java对象。
同时,通过定义Feign的拦截器,可以在请求链路加入自定义逻辑,比如对请求头添加签名等功能。
Feign对HTTP客户端的封装方便了开发者使用,提高了开发效率。