FeignClient支持運行時動態(tài)指定URL方式
FeignClient支持運行時動態(tài)指定URL
在實際開發(fā)中
我們經(jīng)常會通過FeignClient接口調(diào)用三方API,當我們面對不同的環(huán)境對應不同的地址時,可以同過配置文件和占位符,切換相應的地址。
代碼片段如下:
@FeignClient(name = "hongxuan-service", url = "${api.xxx.url}") public interface FeignService { //相應的API接口方法 } api: xxx: url: http://127.0.0.1:8080
但是當我們在同一個環(huán)境中需要調(diào)用不同地址的相同接口時,這種方法就失效了。
我們可以通過
并實現(xiàn)RequestInterceptor的void apply(RequestTemplate template)接口來實現(xiàn)。
代碼示例如下:
public class FeignUrlInterceptor implements RequestInterceptor { @Override public void apply(RequestTemplate template) { //todo 根據(jù)規(guī)則確定url,然后賦值 template.target(url); //除此之外,還可以對header進行設置 } } @FeignClient(name = "api-service", configuration = FeignUrlInterceptor.class) public interface ApiFeignService { }
此時,當配置了FeignUrlInterceptor.class作為配置文件的feign將會根據(jù)規(guī)則動態(tài)的切換地址
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
論Java Web應用中調(diào)優(yōu)線程池的重要性
這篇文章主要論述Java Web應用中調(diào)優(yōu)線程池的重要性,通過了解應用的需求,組合最大線程數(shù)和平均響應時間,得出一個合適的線程池配置2016-04-04使用SpringBoot的CommandLineRunner遇到的坑及解決
這篇文章主要介紹了使用SpringBoot的CommandLineRunner遇到的坑及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02mybatis-plus團隊新作mybatis-mate實現(xiàn)數(shù)據(jù)權限
本文主要介紹了mybatis-plus 團隊新作 mybatis-mate 輕松搞定數(shù)據(jù)權限,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09springboot?集成identityserver4身份驗證的過程解析
這篇文章主要介紹了springboot?集成identityserver4身份驗證的相關知識,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-01-01java如何動態(tài)的處理接口的返回數(shù)據(jù)
本文主要介紹了java如何動態(tài)的處理接口的返回數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-01-01java使用mysql預編譯語句查詢優(yōu)勢及示例詳解
這篇文章主要為大家介紹了java使用mysql預編譯語句的優(yōu)勢特點及示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06