مسیر شبکه را پیش از ساختن شیء 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);

این API جاکارتای RESTEasy 6.2 است، با RESTEasy به‌عنوان فراهم‌کنندهٔ نصب‌شدهٔ کلاینت و MyApi که پیش‌تر توسط برنامه تعریف شده است. آرگومان‌های پروکسی نام میزبان، پورت صحیح و طرح انتقال پروکسی هستند. برای درخواست‌های مجاز به APIهای عمومی، از یک نقطهٔ پایانی HTTP متناظر از سرویس خود یا فهرست پروکسی HTTP استفاده کنید. مقصد API را روی target نگه دارید؛ API با HTTPS می‌تواند از پروکسی HTTP استفاده کند.

کلاینت را برای فراخوانی‌های پروکسی نوع‌دارش زنده نگه دارید و سپس در پایان کار آن را ببندید. بازگرداندن شیء API از دامنهٔ کلاینتِ از پیش بسته‌شده، آن را بدون انتقال رها می‌کند.

تصمیم بگیرید که این انتقال متعلق به کیست. مستندات سازنده ادغام پیش‌فرض Apache HTTP Client را توصیف می‌کند. یک ClientHttpEngine ارائه‌شده مرز را تغییر می‌دهد: httpEngine پیکربندی SSL و پیکربندی مخصوص اتصال سازنده را جایگزین می‌کند. پروکسی و TLS را از طریق رابط پشتیبانی‌شدهٔ همان موتور تنظیم کنید.

نمونه‌های قدیمی‌تر مبتنی بر ClientExecutor به‌جای آن یک کلاینت Apache پوشیده‌شده را پیکربندی می‌کنند. با همان نسل هم‌خوان باشید، نه اینکه آن را در سازندهٔ جاکارتا بچسبانید.

در هر دو شاخه، نام میزبان API را به‌عنوان هویت TLS با تأیید فعال نگه دارید. احراز هویت پروکسی، ورود به API و اعتماد به گواهی الزامات جداگانه‌ای هستند؛ یک مسیر به‌تنهایی همهٔ طرح‌های احراز هویت را فراهم نمی‌کند.

مقالات مرتبط