Feign ,三步搞定HTTP请求

发布于 更新于

技术文章

一三步搞定Http请求今天要给大家介绍的主角是Feign 。Feign是一个受到Retrofit,JAXRS-2.0和WebSocket启发的Java到HTTP客户端绑定器。 Feign的第一个目标是降低HTTP API的复杂性。...

一

三步搞定Http请求


今天要给大家介绍的主角是Feign 。


Feign是一个受到Retrofit,JAXRS-2.0和WebSocket启发的Java到HTTP客户端绑定器。 


Feign的第一个目标是降低HTTP API的复杂性。


官网:https://github.com/OpenFeign/feign


01 首先导入maven坐标,我们选择feign-jackson集成jackson解析json。


10.X版本需要JDK1.8以上。



02 编写接口使用注解来操作Feign如何发送http请求。



03 在main方法中调用Feign.bulider()指定请求uri并且调用接口中的方法,最终在控制台打印结果返回值。



二

Feign接口注解


在定义接口时,需要使用Feign接口注解定义Http请求类型、请求头、请求体、请求参数等等。



例子1:



例子2:



三

Feign API介绍


01 target() 指定接口类型和URL地址返回接口Http代理对象,从而通过代理对象调用方法发送HTTP请求。


除了target方法之外,还有一些可选方法。


如下:


02 client() Feign在默认情况下使用的是JDK原生的URLConnection发送HTTP请求。


通过client方法可配置其他HTTP客户端。


如HttpClient、OkHttpClient、Http2Client等。


03 options() 指定连接超时时长及响应超时时长,单位毫秒。


04 retryer() 指定重试策略,参数分别是最小时间,最大时间,重连次数。


05 encoder() decoder() 指定编码/解码方式默认是String。


可配置Gson、Jackson、Sax等。


06 logger() logLevel() 指定日志和日志等级,可配置SLF4J等。


注意:


如果需要使用Jackson、SLF4J、Gson、Sax、OkHttpClient、Http2Client、HttpClient等需要导入对应坐标。


例子:



继续阅读