RESTEasy 6.2: postavljanje prednjeg proxyja u graditelju klijenta
Konfigurirajte HTTP prijenos RESTEasyja prije stvaranja tipiziranog API proxyja i uzmite u obzir HTTP engine koji se koristi.
Postavite mrežnu rutu na RESTEasy klijentu prije stvaranja anotiranog API objekta. Tipizirani API proxy je Java objekt, a ne mrežni posrednik naprijed.
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);Ovo je Jakarta API RESTEasyja 6.2, s RESTEasyjem kao instaliranim pružateljem klijenta i MyApi koji je aplikacija već definirala. Argumenti proxyja su naziv hosta, cjelobrojni port i shema prijenosa proxyja. Za dopuštene zahtjeve prema javnim API-jima upotrijebite odgovarajuću HTTP krajnju točku iz svoje usluge ili popis HTTP proxyja. Zadržite odredište API-ja na target; HTTPS API može koristiti HTTP proxy.
Držite klijenta živim za pozive njegova tipiziranog proxyja, zatim ga zatvorite po završetku posla. Vraćanje API objekta iz već zatvorenog opsega klijenta ostavlja ga bez prijenosa.
Odlučite kome pripada taj prijenos. Dokumentacija graditelja opisuje zadanu integraciju Apache HTTP Clienta. Dostavljeni ClientHttpEngine mijenja granicu: httpEngine zamjenjuje SSL i konfiguraciju specifičnu za vezu u graditelju. Postavite proxy i TLS kroz podržano sučelje tog enginea.
Stariji primjeri temeljeni na ClientExecutor umjesto toga konfiguriraju zamotani Apache klijent. Prilagodite se toj generaciji umjesto da je zalijepite u Jakarta graditelj.
U obje grane zadržite naziv hosta API-ja kao TLS identitet s omogućenom provjerom. Autentifikacija proxyja, prijava na API i povjerenje u certifikat odvojeni su zahtjevi; sama ruta ne pruža sve sheme autentifikacije.