Đặt tuyến mạng trên client RESTEasy trước khi tạo đối tượng API có chú thích. Proxy API có kiểu là một đối tượng Java, không phải trung gian mạng chuyển tiếp.

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);

Đây là API Jakarta của RESTEasy 6.2, với RESTEasy là nhà cung cấp client đã cài đặt và MyApi đã được ứng dụng định nghĩa. Các tham số proxy là tên máy chủ, cổng số nguyên và lược đồ vận chuyển của proxy. Đối với các yêu cầu API công khai được phép, hãy dùng một điểm cuối HTTP phù hợp từ dịch vụ của bạn hoặc danh sách proxy HTTP. Giữ đích của API trên target; API HTTPS có thể dùng proxy HTTP.

Giữ client sống cho các lời gọi của proxy có kiểu, rồi đóng nó khi công việc hoàn tất. Trả về đối tượng API từ một phạm vi client đã đóng sẽ khiến nó không còn vận chuyển.

Quyết định ai sở hữu vận chuyển đó. Tài liệu của builder mô tả tích hợp Apache HTTP Client mặc định. Một ClientHttpEngine được cung cấp sẽ thay đổi ranh giới: httpEngine thay thế cấu hình SSL và cấu hình riêng cho kết nối của builder. Đặt proxy và TLS thông qua giao diện được hỗ trợ của công cụ đó.

Các ví dụ cũ dựa trên ClientExecutor thay vào đó cấu hình một client Apache được bọc. Hãy theo thế hệ đó thay vì dán nó vào builder Jakarta.

Trong cả hai nhánh, giữ tên máy chủ của API làm danh tính TLS với xác minh được bật. Xác thực proxy, đăng nhập API và tin cậy chứng chỉ là những yêu cầu riêng biệt; chỉ một tuyến không cung cấp mọi lược đồ xác thực.

Bài viết liên quan