可配置的 HTTP 客戶端
簡介
Rapid SDK 透過底層的 HTTP 客戶端來執行 API 呼叫。為了讓開發者能更靈活地控制 HTTP 客戶端,我們提供了一個建構器,您可以透過它將自訂的 HTTP 客戶端傳遞給 SDK 使用。使用此建構器,您可以根據自身需求建立 HTTP 客戶端,並將其傳遞給 SDK;甚至可以直接傳遞您在應用程式中已使用的客戶端。
設定 HTTP 客戶端與使用預設客戶端的比較
使用內建的預設客戶端,是開始使用 SDK 的最簡單方法。然而,自行配置您的 HTTP 客戶端將帶來以下好處:
- 最佳化: Fine-tune 透過此客戶端提升效能,例如連接池、超時設定及重試機制。
- 整合: 請使用您應用程式中已配置並經過測試的現有 HTTP 客戶端。
因此,如果您希望優化 SDK 以提升效能,或是將其與現有的 HTTP 客戶端整合,配置您自己的 HTTP 客戶端是最佳選擇。
如何設定您的 HTTP 客戶端
要設定您的 HTTP 客戶端,您需要建立一個 OkHttpClient` ` 實例,並將其傳遞給 RapidClient 建構器。
1. 根據您的設定建立一個 ``OkHttpClient 實例。您可以使用現有的實例,或建立一個新的實例。
範例:
OkHttpClient customClient = new OkHttpClient.Builder()
.connectTimeout(30, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS)
.writeTimeout(30, TimeUnit.SECONDS)
.build();有關設定OkHttpClient 的更多資訊,請參閱 OkHttp 文件。
2. 將 OkHttpClient` ` 實例傳遞給 RapidClient 建構器builderWithHttpClient。
範例:
RapidClient rapidClient = RapidClient.builderWithHttpClient()
.okHttpClient(customClient)
.key("YOUR_API_KEY")
.secret("YOUR_API_SECRET")
.build();3. 照常使用已設定的 ``rapidClient 來進行 API 呼叫。
範例:
GetAvailabilityOperationParams getAvailabilityOperationParams = GetAvailabilityOperationParams.builder()
.checkin("YYYY-MM-DD")
.checkout("YYYY-MM-DD")
.currency("USD")
.language("en_US")
/* ... */
.build();
GetAvailabilityOperation operation = new GetAvailabilityOperation(params);
Response<List<Property>> response = rapidClient.execute(operation);