RESTEasy 6.2: ustawienie proxy przekazującego w kreatorze klienta
Skonfiguruj transport HTTP RESTEasy przed utworzeniem typowanego proxy API i uwzględnij używany silnik HTTP.
Ustaw trasę sieciową w kliencie RESTEasy przed utworzeniem adnotowanego obiektu API. Typowane proxy API to obiekt Java, a nie pośrednik sieciowy przekazujący.
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);To jest API Jakarta RESTEasy 6.2, gdzie RESTEasy jest zainstalowanym dostawcą klienta, a MyApi jest już zdefiniowany przez aplikację. Argumenty proxy to nazwa hosta, całkowitoliczbowy port i schemat transportu proxy. Dla dozwolonych żądań do publicznych API użyj pasującego punktu końcowego HTTP z Twojej usługi lub listy proxy HTTP. Zachowaj cel API na target; API HTTPS może używać proxy HTTP.
Utrzymuj klienta przy życiu dla wywołań jego typowanego proxy, a następnie zamknij go po zakończeniu pracy. Zwrócenie obiektu API z już zamkniętego zakresu klienta pozostawia go bez transportu.
Zdecyduj, kto jest właścicielem tego transportu. Dokumentacja kreatora opisuje domyślną integrację Apache HTTP Client. Dostarczony ClientHttpEngine zmienia granicę: httpEngine zastępuje konfigurację SSL i konfigurację specyficzną dla połączenia kreatora. Ustaw proxy i TLS przez obsługiwany interfejs tego silnika.
Starsze przykłady oparte na ClientExecutor konfigurują zamiast tego opakowanego klienta Apache. Dopasuj się do tej generacji, zamiast wklejać go do kreatora Jakarta.
W obu gałęziach zachowaj nazwę hosta API jako tożsamość TLS z włączoną weryfikacją. Uwierzytelnianie proxy, logowanie do API i zaufanie do certyfikatu to odrębne wymagania; sama trasa nie zapewnia wszystkich schematów uwierzytelniania.