為 Rapid API 設定 Java SDK

軟體開發工具組 (SDK) 讓系統整合更容易,因此您能夠快速將產品推出市場

成為合作夥伴並取得您的登入資訊

如需更多資訊,請參閱開始使用 Rapid

Information

注意

Expedia Group 對 Rapid Java SDK 進行品牌變更。本頁面上的資訊指的是變更品牌後的 SDK。深入了解


1. 設定 Java 開發環境

您的開發環境需至少為 Java 8 或以上版本。您可以使用 Apache Maven 或 Gradle 為您的專案配置 SDK 相依項。


2. 建立服務用戶端並進行配置

若要向 Rapid 端點送出請求,請建立服務用戶端並使用您的登入資訊進行配置。

RapidClient rapidClient =
    RapidClient
        .builder()
        .key("KEY")
        .secret("SECRET")
        .build();
|

(選用) 2.1. 配置逾時

服務用戶端可以為請求、連線和通訊端配置不同的逾時。


2.1.1. 配置請求逾時

請求逾時是指從請求開始到回應完成的期間。 預設值為無限 (無逾時)。

RapidClient rapidClient=
    RapidClient
        .builder()
        .requestTimeout(90_000) // 90 seconds
        .key("KEY")
        .secret("SECRET")
        .build();

2.1.2. 配置連線逾時

連線逾時是指從請求開始到與伺服器建立連線的期間。 預設值為 10000 毫秒 (10 秒)。

RapidClient rapidClient=
    RapidClient
        .builder()
        .connectionTimeout(30_000) // 30 seconds
        .key("KEY")
        .secret("SECRET")
        .build();

2.1.3. 配置通訊端逾時

通訊端逾時是指與伺服器交換資料時,兩個連續的資料包之間處於無活動狀態的最長期間。 預設值為 15000 毫秒 (15 秒)。

RapidClient rapidClient=
    RapidClient
        .builder()
        .socketTimeout(30_000) // 30 seconds
        .key("KEY")
        .secret("SECRET")
        .build();

(選用) 2.2. 配置端點

服務用戶端也可配置為覆寫 Rapid API 端點,例如使用測試環境。

RapidClient rapidClient =
    RapidClient
        .builder()
        .endpoint("https://test.ean.com/v3/")
        .key("KEY")
        .secret("SECRET")
        .build();

3. 送出 API 呼叫

服務用戶端對 Rapid API 中的每個端點都有一個適用方法。您可以提供所需參數來呼叫相應方法,即可存取端點。

GetAvailabilityOperationParams getAvailabilityOperationParams = GetAvailabilityOperationParams.builder()
        .checkin("YYYY-MM-DD")
        .checkout("YYYY-MM-DD")
        .currency("USD")
        .language("en_US")
        /* ... */
        .build();
GetAvailabilityOperation getAvailabilityOperation = new GetAvailabilityOperation(getAvailabilityOperationParams);
Response<List<Property>> propertiesResponse = rapidClient.execute(getAvailabilityOperation);
System.out.println(propertiesResponse.getData());

非同步執行

服務用戶端也為每個端點提供非同步方法。您可以提供所需參數來呼叫相應非同步方法,即可存取端點。

GetAvailabilityOperationParams getAvailabilityOperationParams = GetAvailabilityOperationParams.builder()
        .checkin("YYYY-MM-DD")
        .checkout("YYYY-MM-DD")
        .currency("USD")
        .language("en_US")
        /* ... */
        .build();
        
GetAvailabilityOperation getAvailabilityOperation = new GetAvailabilityOperation(getAvailabilityOperationParams);

/*  
    The executeAsync method is used to perform an asynchronous operation with the rapidClient, 
    allowing the application to continue executing other tasks while waiting for the operation to complete.
 */
CompleteableFuture getAvailability = rapidClient.executeAsync(getAvailabilityOperation)
        .thenAccept(response -> System.out.println(response.getData()));

想要了解更多資訊嗎?請參閱使用範例 若要更深入了解您的 API 呼叫,請配置日誌記錄

這個頁面有幫助嗎?
我們能如何改善內容?
感謝您協助我們進行改善!