Définissez la route réseau sur le client RESTEasy avant de créer l'objet d'API annoté. Un proxy d'API typé est un objet Java, pas l'intermédiaire réseau sortant.

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

Il s'agit de l'API Jakarta de RESTEasy 6.2, RESTEasy étant le fournisseur client installé et MyApi déjà défini par l'application. Les arguments du proxy sont le nom d'hôte, le port entier et le schéma de transport du proxy. Pour les requêtes autorisées vers des API publiques, utilisez un point de terminaison HTTP correspondant de votre service ou la liste de proxys HTTP. Conservez la destination de l'API sur target ; une API HTTPS peut utiliser un proxy HTTP.

Maintenez le client actif pour les appels de son proxy typé, puis fermez-le à la fin du travail. Renvoyer l'objet d'API depuis une portée de client déjà fermée le laisse sans transport.

Décidez qui possède ce transport. La documentation du builder décrit l'intégration Apache HTTP Client par défaut. Un ClientHttpEngine fourni modifie la limite : httpEngine supplante la configuration SSL et propre à la connexion du builder. Définissez le proxy et TLS via l'interface prise en charge de ce moteur.

Les exemples plus anciens basés sur ClientExecutor configurent plutôt un client Apache encapsulé. Alignez-vous sur cette génération au lieu de le coller dans le builder Jakarta.

Dans les deux branches, conservez le nom d'hôte de l'API comme identité TLS avec la vérification activée. L'authentification du proxy, la connexion à l'API et la confiance dans le certificat sont des exigences distinctes ; une route seule ne couvre pas tous les schémas d'authentification.

Articles similaires