49.5. クライアントエンドポイントの設定


概要

機能およびプロバイダーの登録および設定により、ベース javax.ws.rs.client.Client オブジェクトの機能を拡張できます。

以下の例は、ロギング機能、カスタムエンティティープロバイダー、および prettyLogging プロパティーを true に設定するよう設定されたクライアントを示しています。

// Java
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Client;
import org.apache.cxf.feature.LoggingFeature;
...
Client client = ClientBuilder.newClient();
client.register(LoggingFeature.class)
      .register(MyCustomEntityProvider.class)
      .property("LoggingFeature.prettyLogging","true");

オブジェクトを登録する設定可能な API

Client クラスはオブジェクトの登録用に Configurable API をサポートします。これにより、register メソッドの複数のバリアントが提供されます。ほとんどの場合に、以下の例のようにクラスまたはオブジェクトインスタンスを登録します。

client.register(LoggingFeature.class)
client.register(new LoggingFeature())

register バリアントの詳細は、Configurable に関する参考ドキュメントを参照してください。

クライアントで設定できる内容

クライアントエンドポイントの以下の機能を設定できます。

  • 機能
  • プロバイダー
  • プロパティー
  • フィルター
  • インターセプター

機能

javax.ws.rs.core.Feature は事実上、追加の機能を JAX-RS クライアントに追加するプラグインです。多くの場合に、機能は、必要な機能を提供するためのインターセプターを 1 つ以上インストールします。

プロバイダー

プロバイダーは、マッピング機能を提供する特定の種類のクライアントプラグインです。JAX-RS 2.0 仕様は、以下のようなプロバイダーを定義します。

エンティティープロバイダー
エンティティープロバイダー は、特定のメディアタイプ間のマッピング機能を提供します。詳細は、「要求と応答の解析」 を参照してください。
例外マッピングプロバイダー
例外マッピングプロバイダー は、チェックされたランタイム例外を Response のインスタンスにマッピングします。
コンテキストプロバイダー
コンテキストプロバイダーはサーバー側で使用され、リソースクラスや他のサービスプロバイダーのコンテキストを提供します。

フィルター

JAX-RS 2.0 フィルターは、メッセージ処理パイプラインのさまざまなポイント (拡張ポイント) の URI、ヘッダー、およびその他のコンテキストデータへのアクセスを可能にするプラグインです。詳細は、61章JAX-RS 2.0 フィルターおよびインターセプター を参照してください。

インターセプター

JAX-RS 2.0 インターセプターは、読み取りまたは書き込み時に要求または応答のメッセージボディーへのアクセスを許可するプラグインです。詳細は、61章JAX-RS 2.0 フィルターおよびインターセプター を参照してください。

プロパティー

クライアントに 1 つ以上のプロパティーを設定すると、登録された機能または登録されたプロバイダーの設定をカスタマイズできます。

その他の設定可能なタイプ

javax.ws.rs.client.Client (および javax.ws.rs.client.ClientBuilder) オブジェクトだけでなく、WebTarget オブジェクトも設定することができます。WebTarget オブジェクトの設定を変更すると、基盤のクライアント設定はディープコピーされ、新しい WebTarget 設定が指定されます。そのため、元の Client オブジェクトの設定を変更せずに、WebTarget オブジェクトの設定を変更することができます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.