RESTEasy 6.2: definir um proxy forward no builder do cliente
Configure o transporte HTTP do RESTEasy antes de criar o proxy de API tipado e considere o motor HTTP em uso.
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.