我們昨天介紹了如何把快速的Redis使用kotlin來串接,今天我們要來想像一個情景,假設我們的系統依賴於外部系統,對方開出了Api spec,讓我們打他們的api來取得資料,對他們來說,我們會打到他們的api,就像是前端打後端的api一樣。
找到有這幾種方法OkHttp、Feign、RestTemplate、WebClient這四種方式,那麼我們就快速了解一下這四種我們可以怎麼選擇吧!
在網路不穩定的情況下,OkHttp 會堅持不懈:它會在常見的連接問題發生時默默地恢復連接(就是會在打不到時默默地重打幾次嗎!?)。如果我們的服務有多個 IP 位址,如果第一個連線失敗,OkHttp會嘗試打其他的位址。OkHttp 支援現代的TLS特性(TLS 1.3、ALPN、憑證固定)。
Feign是聲明式Web服務用戶端。並且集成於Spring Cloud,還有減少模板式的HTTP請求程式碼,提高我們的開發效率。而且與Spring Boot可以輕鬆的整合再一起。
聲明式就是Functional programing的精隨了!在意的點不是怎麼做!而是做什麼,像是請伸出手,幫我點個讚!這就是命令式,而聲名式則是請給我個讚,在意的點不一樣,一個是有詳細的步驟及操作,一個只在意Input與Output的type。
今天知道了兩種不同kotlin可以打api的套件!因為聲明式的關係,感覺Feign是個可以試試看的玩具。
https://square.github.io/okhttp/
https://cloud.spring.io/spring-cloud-netflix/multi/multi_spring-cloud-feign.html