Feign ,三步搞定HTTP請(qǐng)求

一、三步搞定Http請(qǐng)求

Feign是一個(gè)受到Retrofit,JAXRS-2.0和WebSocket啟發(fā)的Java到HTTP客戶端綁定器。?
Feign的第一個(gè)目標(biāo)是降低HTTP API的復(fù)雜性。
官網(wǎng):https://github.com/OpenFeign/feign
01?首先導(dǎo)入maven坐標(biāo),我們選擇feign-jackson集成jackson解析json。
10.X版本需要JDK1.8以上。

02?編寫接口使用注解來(lái)操作Feign如何發(fā)送http請(qǐng)求。

03?在main方法中調(diào)用Feign.bulider()指定請(qǐng)求uri并且調(diào)用接口中的方法,最終在控制臺(tái)打印結(jié)果返回值。

二、Feign接口注解

在定義接口時(shí),需要使用Feign接口注解定義Http請(qǐng)求類型、請(qǐng)求頭、請(qǐng)求體、請(qǐng)求參數(shù)等等。

例子1:

例子2:

三、Feign API介紹

01?target() 指定接口類型和URL地址返回接口Http代理對(duì)象,從而通過(guò)代理對(duì)象調(diào)用方法發(fā)送HTTP請(qǐng)求。
除了target方法之外,還有一些可選方法。
如下:
02?client() Feign在默認(rèn)情況下使用的是JDK原生的URLConnection發(fā)送HTTP請(qǐng)求。
通過(guò)client方法可配置其他HTTP客戶端。
如HttpClient、OkHttpClient、Http2Client等。
03?options() 指定連接超時(shí)時(shí)長(zhǎng)及響應(yīng)超時(shí)時(shí)長(zhǎng),單位毫秒。
04?retryer() 指定重試策略,參數(shù)分別是最小時(shí)間,最大時(shí)間,重連次數(shù)。
05?encoder() decoder() 指定編碼/解碼方式默認(rèn)是String。
可配置Gson、Jackson、Sax等。
06?logger() logLevel() 指定日志和日志等級(jí),可配置SLF4J等。
注意:
如果需要使用Jackson、SLF4J、Gson、Sax、OkHttpClient、Http2Client、HttpClient等需要導(dǎo)入對(duì)應(yīng)坐標(biāo)。
例子:

說(shuō)明:本文為檸檬班羅杰老師原創(chuàng),轉(zhuǎn)載需注明出處!