找了一段時間才找到,但是我找到了一個完美的REST客戶端庫,這使得我們的開發更加容易和陳舊。在開發新的REST實現或API時,我們可以將其用作標準。
它被稱爲Feign,由Netflix團隊開發並與Spring Cloud Netflix合作。更多詳情here在該項目的網站上。
一些功能包括: - 集成傑克遜,GSON和其他編碼器/解碼器 - 使用OkHttp進行網絡通信,一個成熟的HTTP庫 - 與SLF4J綁定日誌記錄功能 - 基於接口的實現,最小的發展。下面是一個樣本客戶端:
@FeignClient("stores")
public interface StoreClient
{
@RequestMapping(method = RequestMethod.GET, value = "/stores")
List<Store> getStores();
@RequestMapping(method = RequestMethod.POST, value = "/stores/{storeId}", consumes = "application/json")
Store update(@PathVariable("storeId") Long storeId, Store store);
}
並經過@aha的答案,以下引用:
JRE/JDK:這裏有完整的選項的選擇。
如果您想要快速簡單地解決方案 實現沒有SDK可用的第三方API或JAX-RS 接口,那麼改裝可能會更好。
Spring的RestTemplate是一個不錯的選擇,如果你正在使用 春天,也沒有JAX-RS接口或者你不想買 到JAX-RS,即還用它在服務器端。
JAX-RS(澤西島, RestEasy的,...)是一個很好的選擇,如果你想分享客戶端和服務器之間的接口 定義,或者如果你是全對的JavaEE 反正。
假死就像改裝和JAX-RS一起:簡單的解決方案,並可以共享客戶端和服務器之間的接口定義,並且可以使用JAX-RS接口
基於觀點的問題是不適合用於StackOverflow的。什麼是「最好的」工具取決於你的情況和你的個人品味。此外,看起來你只是不想做比較你自己感興趣的工具的辛苦工作,但只是收穫別人爲你做的工作。儘可能尊重,但我不喜歡這樣的問題。如果您無法提供需要解決的工具之一的具體問題,我建議您刪除該問題。 – kriegaex
@kriegaex感謝您的意見..但我必須得到最好的選擇,因爲我必須編寫一個支持大量連接並具有最佳性能的新API,並且我想確保retrofit2是否會支持高性能良好的請求數量 –
然後,不要僅僅寫出「最佳」,而是「最高吞吐量」,而不是列出許多部分衝突的標準 - 例如,反序列化的最佳工具可能是吞吐量更差。並提供您認爲對您的情況來說太慢或至少是典型的示例代碼,以幫助其他人爲您優化。你沒有得到什麼StackOverflow是關於,是嗎?你有沒有想過,爲什麼沒有人想在你付出恩典之前回答這個問題?因爲除了你以外,沒有人能真正用不明確的標準來回答這個問題 - 這到底是什麼發生了。 – kriegaex