當前位置:編程學習大全網 - 源碼下載 - Feign 接入第三方restful api 入門

Feign 接入第三方restful api 入門

通常來說,很多人用feign是用於內部環境的spring cloud微服務調用。但feign其實是封裝了http請求,那調用外部restful api是沒有問題的。

在此講下集成步驟,還有幾種配置方法,以及壹些註意點。

這裏要註意的是,和springboot 版本匹配問題. 壹開始使用了2.* 的feign版本,而我的springboot 是 2.6.5,然後報spring boot configration類找不到。更新feign到3.1.1就可以了。

這個各種文章都有,

代碼示例:

還是比較簡潔的,不過, 似乎依賴spring框架比較多 ,不知道在其他環境集成是不是還是這麽簡單。

因為配置請求參數,和統壹的業務處理我是放在壹起的,所以這裏也壹起說明。

API請求的參數,主要包括像格式、字符集等。而統壹業務處理,比如像加簽、加密這些。

feign的配置有三種方式,按照作用域如下

根據我的日誌打印,是先調用2的實例配置,再調用全局配置。 假如兩個都配置,需要註意這個優先級。

======= local ApiInterceptor start ========

======= local ApiInterceptor end ========

======= global ApiInterceptor start ========

======= global ApiInterceptor end ========

使用 @Configuration 的配置註入,並且需要 實現 RequestInterceptor 接口。

作用域是全局的,所以不適合做業務相關的處理。不過妳假如只有壹個client配置,寫這裏也無妨。

業務處理的方式,是獲取body或者query參數,處理後,再放到header, query, body中去。

因為全局配置會影響所有的feign,所以假如項目中有不同的feign client,使用的時候不應該采用全局。

實例配置,自己建立壹個interceptor,然後在ApiClient中配置

註意,實例的配置不應該加入@Configuration 的註解 ,防止被註入。

這種配置方式就是直接在requestMap上增加,其實之前寫的 method 就是如此。還可以增加其他的,比如如下,就是請求亂碼可以增加壹下header。

好了,集成入門就到此。簡單使用應該問題不大了。 假如生產使用,還需要測試性能,連接池等問題。

我是窩牛,專註於各種大雜燴,各種都寫,都寫不好。歡迎討論交流。

  • 上一篇:javascript中只知道class值怎麽取得span的值?class唯壹,最簡單的代碼
  • 下一篇:十大巨人新兵都是誰在進攻?附上照片。
  • copyright 2024編程學習大全網