RESTEasy 6.2: postavljanje proksija naprijed u graditelju klijenta
Konfigurirajte HTTP transport RESTEasy prije stvaranja tipiziranog API proksija i uzmite u obzir HTTP engine koji se koristi.
Postavite mrežnu rutu na RESTEasy klijentu prije stvaranja anotiranog API objekta. Tipizirani API proksi je Java objekat, 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 RESTEasy 6.2, s RESTEasy kao instaliranim pružaocem klijenta i MyApi koji je aplikacija već definirala. Argumenti proksija su ime hosta, cjelobrojni port i šema transporta proksija. Za dozvoljene zahtjeve prema javnim API-jima koristite odgovarajuću HTTP krajnju tačku iz svoje usluge ili listu HTTP proksija. Ostavite odredište API-ja na target; HTTPS API može koristiti HTTP proksi.
Držite klijenta živim za pozive njegovog tipiziranog proksija, zatim ga zatvorite po završetku posla. Vraćanje API objekta iz već zatvorenog opsega klijenta ostavlja ga bez transporta.
Odlučite ko posjeduje taj transport. Dokumentacija graditelja opisuje zadanu integraciju Apache HTTP Client. Dostavljeni ClientHttpEngine mijenja granicu: httpEngine zamjenjuje SSL i konfiguraciju specifičnu za vezu u graditelju. Postavite proksi i TLS kroz podržani interfejs tog enginea.
Stariji primjeri zasnovani na ClientExecutor umjesto toga konfiguriraju umotani Apache klijent. Prilagodite se toj generaciji umjesto da je zalijepite u Jakarta graditelj.
U obje grane držite ime hosta API-ja kao TLS identitet s omogućenom verifikacijom. Autentifikacija proksija, prijava na API i povjerenje u certifikat su odvojeni zahtjevi; samo ruta ne pruža sve šeme autentifikacije.