RESTEasy 6.2: ਕਲਾਇੰਟ ਬਿਲਡਰ 'ਤੇ ਫਾਰਵਰਡ ਪ੍ਰੌਕਸੀ ਸੈੱਟ ਕਰੋ
ਟਾਈਪਡ API ਪ੍ਰੌਕਸੀ ਬਣਾਉਣ ਤੋਂ ਪਹਿਲਾਂ RESTEasy ਦਾ HTTP ਟਰਾਂਸਪੋਰਟ ਕਨਫਿਗਰ ਕਰੋ, ਅਤੇ ਵਰਤੇ ਜਾ ਰਹੇ HTTP ਇੰਜਣ ਨੂੰ ਧਿਆਨ ਵਿੱਚ ਰੱਖੋ।
ਐਨੋਟੇਟਿਡ API ਆਬਜੈਕਟ ਬਣਾਉਣ ਤੋਂ ਪਹਿਲਾਂ RESTEasy ਕਲਾਇੰਟ 'ਤੇ ਨੈੱਟਵਰਕ ਰੂਟ ਸੈੱਟ ਕਰੋ। ਟਾਈਪਡ API ਪ੍ਰੌਕਸੀ ਇੱਕ Java ਆਬਜੈਕਟ ਹੈ, ਫਾਰਵਰਡ ਨੈੱਟਵਰਕ ਵਿਚੋਲਾ ਨਹੀਂ।
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);ਇਹ RESTEasy 6.2 ਦਾ Jakarta API ਹੈ, ਜਿਸ ਵਿੱਚ RESTEasy ਇੰਸਟਾਲ ਕੀਤਾ ਕਲਾਇੰਟ ਪ੍ਰੋਵਾਈਡਰ ਹੈ ਅਤੇ MyApi ਐਪਲੀਕੇਸ਼ਨ ਵੱਲੋਂ ਪਹਿਲਾਂ ਹੀ ਪਰਿਭਾਸ਼ਿਤ ਹੈ। ਪ੍ਰੌਕਸੀ ਆਰਗੂਮੈਂਟ ਹੋਸਟਨਾਮ, ਪੂਰਨ ਅੰਕ ਪੋਰਟ ਅਤੇ ਪ੍ਰੌਕਸੀ ਟਰਾਂਸਪੋਰਟ ਸਕੀਮ ਹਨ। ਮਨਜ਼ੂਰਸ਼ੁਦਾ ਜਨਤਕ API ਬੇਨਤੀਆਂ ਲਈ ਆਪਣੀ ਸੇਵਾ ਦਾ ਮੇਲ ਖਾਂਦਾ HTTP ਐਂਡਪੌਇੰਟ ਜਾਂ HTTP ਪ੍ਰੌਕਸੀ ਸੂਚੀ ਵਰਤੋ। API ਦੀ ਮੰਜ਼ਿਲ target 'ਤੇ ਰੱਖੋ; HTTPS API HTTP ਪ੍ਰੌਕਸੀ ਵਰਤ ਸਕਦਾ ਹੈ।
ਕਲਾਇੰਟ ਨੂੰ ਇਸ ਦੀ ਟਾਈਪਡ ਪ੍ਰੌਕਸੀ ਦੀਆਂ ਕਾਲਾਂ ਲਈ ਜੀਵਿਤ ਰੱਖੋ, ਫਿਰ ਕੰਮ ਪੂਰਾ ਹੋਣ 'ਤੇ ਬੰਦ ਕਰੋ। ਪਹਿਲਾਂ ਹੀ ਬੰਦ ਕੀਤੇ ਕਲਾਇੰਟ ਸਕੋਪ ਤੋਂ API ਆਬਜੈਕਟ ਵਾਪਸ ਕਰਨ ਨਾਲ ਇਹ ਟਰਾਂਸਪੋਰਟ ਤੋਂ ਬਿਨਾਂ ਰਹਿ ਜਾਂਦਾ ਹੈ।
ਤੈਅ ਕਰੋ ਕਿ ਉਹ ਟਰਾਂਸਪੋਰਟ ਕਿਸ ਦਾ ਹੈ। ਬਿਲਡਰ ਦਸਤਾਵੇਜ਼ ਡਿਫ਼ਾਲਟ Apache HTTP Client ਏਕੀਕਰਨ ਦਾ ਵਰਣਨ ਕਰਦਾ ਹੈ। ਦਿੱਤਾ ਗਿਆ ClientHttpEngine ਸੀਮਾ ਬਦਲਦਾ ਹੈ: httpEngine ਬਿਲਡਰ ਦੇ SSL ਅਤੇ ਕਨੈਕਸ਼ਨ-ਖਾਸ ਕਨਫਿਗਰੇਸ਼ਨ ਨੂੰ ਬਦਲ ਦਿੰਦਾ ਹੈ। ਪ੍ਰੌਕਸੀ ਅਤੇ TLS ਉਸ ਇੰਜਣ ਦੇ ਸਮਰਥਿਤ ਇੰਟਰਫੇਸ ਰਾਹੀਂ ਸੈੱਟ ਕਰੋ।
ClientExecutor ਅਧਾਰਿਤ ਪੁਰਾਣੇ ਉਦਾਹਰਨਾਂ ਇਸ ਦੀ ਥਾਂ ਲਪੇਟਿਆ Apache ਕਲਾਇੰਟ ਕਨਫਿਗਰ ਕਰਦੇ ਹਨ। Jakarta ਬਿਲਡਰ ਵਿੱਚ ਪੇਸਟ ਕਰਨ ਦੀ ਥਾਂ ਉਸ ਪੀੜ੍ਹੀ ਨਾਲ ਮੇਲ ਖਾਓ।
ਦੋਵਾਂ ਸ਼ਾਖਾਵਾਂ ਵਿੱਚ API ਹੋਸਟਨਾਮ ਨੂੰ TLS ਪਛਾਣ ਵਜੋਂ ਰੱਖੋ, ਤਸਦੀਕ ਯੋਗ ਰੱਖਦਿਆਂ। ਪ੍ਰੌਕਸੀ ਪ੍ਰਮਾਣੀਕਰਨ, API ਲੌਗਇਨ ਅਤੇ ਸਰਟੀਫਿਕੇਟ ਭਰੋਸਾ ਵੱਖਰੀਆਂ ਲੋੜਾਂ ਹਨ; ਸਿਰਫ਼ ਰੂਟ ਸਾਰੀਆਂ ਪ੍ਰਮਾਣੀਕਰਨ ਸਕੀਮਾਂ ਪ੍ਰਦਾਨ ਨਹੀਂ ਕਰਦਾ।