Defina a rota de rede no cliente RESTEasy antes de criar o objeto de API anotado. Um proxy de API tipado é um objeto Java, não o intermediário de rede de encaminhamento.

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

Esta é a API Jakarta do RESTEasy 6.2, com o RESTEasy como provedor de cliente instalado e MyApi já definido pela aplicação. Os argumentos do proxy são nome de host, porta inteira e esquema de transporte do proxy. Para requisições permitidas a APIs públicas, use um endpoint HTTP correspondente do seu serviço ou a lista de proxies HTTP. Mantenha o destino da API em target; uma API HTTPS pode usar um proxy HTTP.

Mantenha o cliente vivo para as chamadas do seu proxy tipado e feche-o ao concluir o trabalho. Devolver o objeto de API a partir de um escopo de cliente já fechado deixa-o sem transporte.

Decida quem é dono desse transporte. A documentação do builder descreve a integração padrão do Apache HTTP Client. Um ClientHttpEngine fornecido altera o limite: o httpEngine substitui a configuração SSL e a específica de conexão do builder. Defina proxy e TLS pela interface suportada desse motor.

Exemplos mais antigos baseados em ClientExecutor configuram, em vez disso, um cliente Apache encapsulado. Alinhe-se a essa geração em vez de colá-lo no builder Jakarta.

Em ambos os ramos, mantenha o nome de host da API como identidade TLS com a verificação ativada. Autenticação de proxy, login na API e confiança no certificado são requisitos separados; uma rota sozinha não fornece todos os esquemas de autenticação.

Artigos relacionados