Java SDK for Rapid API の設定

ソフトウェア開発キットにより統合が簡単になるため、製品を迅速に市場に投入できます

パートナーになってログイン情報を取得する

詳細については、「Rapid の利用開始」をご覧ください。

Information

注意

Expedia Group では Rapid Java SDK の名称変更を実施しました。このページでは、名称変更後の SDK を記載しています。詳細を見る


1. Java 開発環境を設定する

開発環境には Java 8 以降が必要です。Apache Maven か Gradle を使用して、プロジェクトの SDK 依存関係を構成できます。


サービスクライアントを作成して構成する

Rapid エンドポイントにリクエストを行うには、サービスクライアントを作成してログイン情報で構成します。

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

(省略可) 2.1. タイムアウトを構成する

サービスクライアントでは、リクエスト、接続、ソケットでそれぞれ異なるタイムアウトを構成できます。


2.1.1.リクエストタイムアウトを構成する

リクエストタイムアウトとは、リクエストが開始されてからレスポンスが完了するまでの期間のことです。 デフォルト値は infinite (タイムアウトなし) です。

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

2.1.2. 接続タイムアウトを構成する

接続タイムアウトとは、リクエストが開始されてからサーバーとの接続が確立されるまでの期間のことです。 デフォルト値は 10,000 ミリ秒 (10 秒) です。

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

2.1.3. ソケットタイムアウトを構成する

ソケットタイムアウトとは、サーバーとデータを交換する際の 2 つの連続したデータパケット間の最大非アクティブ期間のことです。 デフォルト値は 15,000 ミリ秒 (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 コールをよりきめ細かく把握するには、ロギングを構成します。

このページは役に立ちましたか ?
このコンテンツに改善が必要な点があれば、
サービス向上にご協力いただきありがとうございます。