RESTEasy 6.2: een forward-proxy instellen op de clientbuilder
Configureer het HTTP-transport van RESTEasy voordat de getypeerde API-proxy wordt gemaakt, en houd rekening met de gebruikte HTTP-engine.
Stel de netwerkroute in op de RESTEasy-client voordat het geannoteerde API-object wordt gemaakt. Een getypeerde API-proxy is een Java-object, niet de doorsturende netwerktussenpersoon.
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);Dit is de Jakarta-API van RESTEasy 6.2, met RESTEasy als de geïnstalleerde clientprovider en MyApi al gedefinieerd door de applicatie. De proxy-argumenten zijn hostnaam, geheel getal poort en proxy-transportschema. Gebruik voor toegestane openbare API-verzoeken een overeenkomend HTTP-eindpunt uit uw service of de HTTP-proxylijst. Houd de bestemming van de API op target; een HTTPS-API kan een HTTP-proxy gebruiken.
Houd de client in leven voor de aanroepen van zijn getypeerde proxy en sluit hem bij voltooiing van het werk. Het API-object retourneren vanuit een al gesloten client-scope laat het zonder transport achter.
Bepaal wie eigenaar is van dat transport. De builderdocumentatie beschrijft de standaardintegratie van Apache HTTP Client. Een meegeleverde ClientHttpEngine verandert de grens: httpEngine overschrijft de SSL- en verbindingsspecifieke configuratie van de builder. Stel proxy en TLS in via de ondersteunde interface van die engine.
Oudere voorbeelden op basis van ClientExecutor configureren in plaats daarvan een ingepakte Apache-client. Volg die generatie in plaats van die in de Jakarta-builder te plakken.
Houd in beide takken de API-hostnaam als TLS-identiteit met verificatie ingeschakeld. Proxy-authenticatie, API-login en certificaatvertrouwen zijn afzonderlijke vereisten; een route alleen biedt niet elk authenticatieschema.