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