Feign 動態URL 解決記錄


Feign中使用動態URL請求

(應當是spring-cloud-starter-openfeign,不知道和一般的feign有何差別)

在spring項目下,假設有這樣個Feign的消費接口,原來寫死請求百度

@FeignClient(value = "test-service", url="http://www.baidu.com")
public interface TestFeignClient {
    @PostMapping("/test")
    String test(@RequestBody TestBody body);
}

現在不僅可能會請求谷歌,也可能請求雅虎,以下是最簡單的改造方法

@FeignClient(value = "test-service", url="EMPTY")
public interface TestFeignClient {
    @PostMapping("/test")
    String test(URI uri, @RequestBody TestBody body);
}

這樣即可通過傳入URI來替換寫死的URL來請求,其中@FeignClient中url必須要有值,值是啥都行

調用例子:

@Autowired
private TestFeignClient testFeignClient;
public void test() {
    testFeignClient.test(new URI("http://www.baidu.com"), new TestBody());
    testFeignClient.test(new URI("http://www.google.com"), new TestBody());
    testFeignClient.test(new URI("http://www.yahoo.com"), new TestBody());
}

原理

   不明,能用就行,后續再研究(咕咕咕)

資料

   https://blog.csdn.net/qq_31772441/article/details/102531862

   找了大半天,試了各種方法,終於有一個能夠使用的累死我了,記錄以備后用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM