RESTEasy 6.2: наладзіць прамежкавы проксі ў канструктары кліента
Наладзьце HTTP-транспарт RESTEasy да стварэння тыпізаванага проксі API і ўлічыце HTTP-рухавік, які выкарыстоўваецца.
Задайце сеткавы маршрут у кліенце RESTEasy да стварэння анатаванага аб'екта API. Тыпізаваны проксі 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);Гэта Jakarta API RESTEasy 6.2, дзе RESTEasy выступае ўсталяваным пастаўшчыком кліента, а MyApi ужо вызначаны праграмай. Аргументы проксі — гэта імя хоста, цэлалікавы порт і схема транспарту проксі. Для дазволеных запытаў да публічных API выкарыстоўвайце адпаведную HTTP-канчатковую кропку са свайго сэрвісу або спіс HTTP-проксі. Пакіньце прызначэнне API на target; API па HTTPS можа выкарыстоўваць HTTP-проксі.
Трымайце кліент жывым для выклікаў яго тыпізаванага проксі, затым зачыніце яго пасля завяршэння працы. Вяртанне аб'екта API з ужо зачыненай вобласці кліента пакідае яго без транспарту.
Вызначце, каму належыць гэты транспарт. Дакументацыя канструктара апісвае стандартную інтэграцыю Apache HTTP Client. Перададзены ClientHttpEngine змяняе мяжу: httpEngine замяняе SSL і канфігурацыю, спецыфічную для злучэння, у канструктары. Задайце проксі і TLS праз падтрыманы інтэрфейс гэтага рухавіка.
Старыя прыклады на аснове ClientExecutor замест гэтага наладжваюць абгорнуты кліент Apache. Адпавядайце таму пакаленню, а не ўстаўляйце яго ў канструктар Jakarta.
У любой з галін пакідайце імя хоста API як ідэнтычнасць TLS з уключанай праверкай. Аўтэнтыфікацыя проксі, уваход у API і давер да сертыфіката — асобныя патрабаванні; адзін маршрут не забяспечвае ўсе схемы аўтэнтыфікацыі.