RESTEasy 6.2: クライアントビルダーでフォワードプロキシを設定する
型付き API プロキシを作成する前に RESTEasy の HTTP トランスポートを構成し、使用する HTTP エンジンを考慮します。
注釈付き API オブジェクトを作成する前に、RESTEasy クライアントにネットワーク経路を設定します。型付き API プロキシは Java オブジェクトであり、フォワードネットワーク仲介者ではありません。
import jakarta.ws.rs.client.ClientBuilder;
import org.jboss.resteasy.client.jaxrs.ResteasyClient;
import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder;
ResteasyClientBuilder builder =
(ResteasyClientBuilder) ClientBuilder.newBuilder();
ResteasyClient client = builder
.defaultProxy("proxy.example.net", 8080, "http")
.build();
MyApi api = client
.target("https://api.example.net")
.proxy(MyApi.class);これは RESTEasy 6.2 の Jakarta API で、RESTEasy がインストール済みのクライアントプロバイダーであり、MyApi はアプリケーションですでに定義されています。プロキシの引数はホスト名、整数ポート、プロキシのトランスポートスキームです。許可されたパブリック API リクエストには、サービス内の対応する HTTP エンドポイントまたは HTTP プロキシ一覧 を使用してください。API の宛先は target に保ちます。HTTPS の API でも HTTP プロキシを使用できます。
型付きプロキシの呼び出しの間はクライアントを存続させ、作業完了時に閉じます。すでに閉じたクライアントスコープから API オブジェクトを返すと、トランスポートを持たない状態になります。
そのトランスポートの所有者を決めます。ビルダーのドキュメントは既定の Apache HTTP Client 統合について説明しています。ClientHttpEngine を指定すると境界が変わります。httpEngine はビルダーの SSL と接続固有の構成を上書きします。プロキシと TLS はそのエンジンの対応インターフェースで設定してください。
ClientExecutor ベースの古い例は、代わりにラップされた Apache クライアントを構成します。Jakarta ビルダーに貼り付けるのではなく、その世代に合わせてください。
どちらの分岐でも、API のホスト名を TLS 識別子として保持し、検証を有効にしてください。プロキシ認証、API ログイン、証明書の信頼は別々の要件です。経路だけではすべての認証方式を提供しません。