パッケージ jakarta.ws.rs.client

インターフェース Invocation.Builder

すべてのスーパーインターフェース:
SyncInvoker
含まれているインターフェース:
Invocation

public static interface Invocation.Builder extends SyncInvoker
クライアントリクエスト呼び出しビルダー。resource target の request(...) メソッドの 1 つを呼び出して取得したビルダーは、クライアントリクエスト呼び出しを準備するためのメソッドを提供します。リクエストが準備されると、呼び出しビルダーを使用して、汎用実行インターフェースを持つ Invocation を構築できます。
 Client client = ClientBuilder.newClient();
 WebTarget resourceTarget = client.target("http://examples.jaxrs.com/");

 // Build a HTTP GET request that accepts "text/plain" response type
 // and contains a custom HTTP header entry "Foo: bar".
 Invocation invocation = resourceTarget.request("text/plain")
         .header("Foo", "bar").buildGet();

 // Invoke the request using generic interface
 String response = invocation.invoke(String.class);
 
または、継承された synchronous invocation methods の 1 つを使用して、準備されたリクエストを呼び出し、サーバーレスポンスを単一のステップで返すことができます。
 Client client = ClientBuilder.newClient();
 WebTarget resourceTarget = client.target("http://examples.jaxrs.com/");

 // Build and invoke the get request in a single step
 String response = resourceTarget.request("text/plain")
         .header("Foo", "bar").get(String.class);
 
リクエストを呼び出す準備が完全に整ったら、ビルダーで async() メソッドを呼び出すことにより、asynchronous invocation モードに切り替えることができます。例:
 Client client = ClientBuilder.newClient();
 WebTarget resourceTarget = client.target("http://examples.jaxrs.com/");

 // Build and invoke the get request asynchronously in a single step
 Future<String> response = resourceTarget.request("text/plain")
         .header("Foo", "bar").async().get(String.class);
 
  • メソッドの詳細

    • build

      Invocation build(StringSE method)
      任意のリクエストメソッド名を使用してリクエスト呼び出しを作成します。
      パラメーター:
      method - リクエストメソッド名。
      戻り値:
      構築されたリクエストをカプセル化する呼び出し。
    • build

      Invocation build(StringSE method, Entity<?> entity)
      任意のリクエストメソッド名とリクエストエンティティを使用してリクエスト呼び出しを作成します。
      パラメーター:
      method - リクエストメソッド名。
      entity - 完全な Variant 情報を含むリクエストエンティティ。以前に設定されたバリアント関連の HTTP ヘッダー(つまり Content-TypeContent-LanguageContent-Encoding)は、エンティティバリアント情報を使用して上書きされます。
      戻り値:
      構築されたリクエストをカプセル化する呼び出し。
    • buildGet

      Invocation buildGet()
      GET リクエスト呼び出しを作成します。
      戻り値:
      構築された GET リクエストをカプセル化する呼び出し。
    • buildDelete

      Invocation buildDelete()
      DELETE リクエスト呼び出しを作成します。
      戻り値:
      構築された DELETE リクエストをカプセル化する呼び出し。
    • buildPost

      Invocation buildPost(Entity<?> entity)
      POST リクエスト呼び出しを作成します。
      パラメーター:
      entity - 完全な Variant 情報を含むリクエストエンティティ。以前に設定されたバリアント関連の HTTP ヘッダー(つまり Content-TypeContent-LanguageContent-Encoding)は、エンティティバリアント情報を使用して上書きされます。
      戻り値:
      構築された POST リクエストをカプセル化する呼び出し。
    • buildPut

      Invocation buildPut(Entity<?> entity)
      PUT リクエスト呼び出しを作成します。
      パラメーター:
      entity - 完全な Variant 情報を含むリクエストエンティティ。以前に設定されたバリアント関連の HTTP ヘッダー(つまり Content-TypeContent-LanguageContent-Encoding)は、エンティティバリアント情報を使用して上書きされます。
      戻り値:
      構築された PUT リクエストをカプセル化する呼び出し。
    • async

      AsyncInvoker async()
      非同期の統一リクエスト呼び出しインターフェースにアクセスして、ビルドされたリクエストを非同期で呼び出します。
      戻り値:
      非同期統一リクエスト呼び出しインターフェース。
    • accept

      Invocation.Builder accept(StringSE... mediaTypes)
      受け入れられたレスポンスメディア型を追加します。
      パラメーター:
      mediaTypes - 受け入れられたレスポンスメディア型。
      戻り値:
      更新されたビルダー。
    • accept

      Invocation.Builder accept(MediaType... mediaTypes)
      受け入れられたレスポンスメディア型を追加します。
      パラメーター:
      mediaTypes - 受け入れられたレスポンスメディア型。
      戻り値:
      更新されたビルダー。
    • acceptLanguage

      Invocation.Builder acceptLanguage(LocaleSE... locales)
      受け入れ可能な言語を追加します。
      パラメーター:
      locales - 受け入れ可能な言語の配列。
      戻り値:
      更新されたビルダー。
    • acceptLanguage

      Invocation.Builder acceptLanguage(StringSE... locales)
      受け入れ可能な言語を追加します。
      パラメーター:
      locales - 受け入れ可能な言語の配列。
      戻り値:
      更新されたビルダー。
    • acceptEncoding

      Invocation.Builder acceptEncoding(StringSE... encodings)
      受け入れ可能なエンコーディングを追加します。
      パラメーター:
      encodings - 受け入れ可能なエンコーディングの配列。
      戻り値:
      更新されたビルダー。
    • cookie

      Invocation.Builder cookie(Cookie cookie)
      設定するクッキーを追加します。
      パラメーター:
      cookie - 設定されます。
      戻り値:
      更新されたビルダー。
    • cookie

      Invocation.Builder cookie(StringSE name, StringSE value)
      設定するクッキーを追加します。
      パラメーター:
      name - クッキーの名前。
      value - クッキーの値。
      戻り値:
      更新されたビルダー。
    • cacheControl

      Invocation.Builder cacheControl(CacheControl cacheControl)
      メッセージのキャッシュ制御データを設定します。
      パラメーター:
      cacheControl - キャッシュ制御ディレクティブ。null の場合、既存のキャッシュ制御ディレクティブは削除されます。
      戻り値:
      更新されたビルダー。
    • header

      Invocation.Builder header(StringSE name, ObjectSE value)
      任意のヘッダーを追加します。
      パラメーター:
      name - ヘッダーの名前
      value - ヘッダーの値。value のクラスに RuntimeDelegate.createHeaderDelegate(java.lang.Class) を介して使用できる場合は RuntimeDelegate.HeaderDelegate を使用して、またはヘッダーデリゲートが使用できない場合はその toString メソッドを使用して、ヘッダーが直列化されます。value が null の場合、同じ名前の現在のヘッダーはすべて削除されます。
      戻り値:
      更新されたビルダー。
    • headers

      既存のすべてのヘッダーを新しく提供されたヘッダーに置き換えます。
      パラメーター:
      headers - 設定する新しいヘッダー。null の場合、既存のヘッダーはすべて削除されます。
      戻り値:
      更新されたビルダー。
    • property

      Invocation.Builder property(StringSE name, ObjectSE value)
      この呼び出しビルダーによって表されるリクエストのコンテキストで新しいプロパティを設定します。

      プロパティは ClientRequestContext.getProperty(String) または InterceptorContext.getProperty(String) を介して後で取得できます。指定された名前のプロパティがリクエストコンテキストですでに設定されている場合、プロパティの既存の値が更新されます。null 値をプロパティに設定すると、リクエストプロパティバッグからプロパティが効果的に削除されます。

      パラメーター:
      name - プロパティ名。
      value - (新規)プロパティ値。null 値は、指定された名前のプロパティを削除します。
      戻り値:
      更新されたビルダー。
      関連事項:
    • rx

      CompletionStageSE に基づくデフォルトのリアクティブ呼び出しにアクセスします。
      戻り値:
      デフォルトのリアクティブ呼び出し元インスタンス。
      導入:
      2.1
      関連事項:
    • rx

      <T extends RxInvoker> T rx(ClassSE<T> clazz)
      RxInvoker サブクラスプロバイダーに基づくリアクティブ呼び出しにアクセスします。対応する RxInvokerProvider をクライアントランタイムに登録する必要があることに注意してください。

      このメソッドは、非同期計算を表す他の型をサポートするための JAX-RS 実装の拡張ポイントです。

      型パラメーター:
      T - 一般的な呼び出し元の型。
      パラメーター:
      clazz - RxInvoker サブクラス。
      戻り値:
      リアクティブな呼び出し元インスタンス。
      例外:
      IllegalStateExceptionSE - 指定されたクラスのプロバイダーが登録されていない場合。
      導入:
      2.1
      関連事項: