RESTEasy 6.2: ຕັ້ງ forward proxy ໃນ client builder
ຕັ້ງຄ່າ HTTP transport ຂອງ RESTEasy ກ່ອນສ້າງ typed API proxy ແລະ ພິຈາລະນາ HTTP engine ທີ່ໃຊ້ຢູ່.
ຕັ້ງເສັ້ນທາງເຄືອຂ່າຍໃນ RESTEasy client ກ່ອນສ້າງ annotated API object. Typed API proxy ເປັນ Java object, ບໍ່ແມ່ນຕົວກາງເຄືອຂ່າຍທີ່ສົ່ງຕໍ່.
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 ເປັນຜູ້ໃຫ້ບໍລິການ client ທີ່ຕິດຕັ້ງແລ້ວ ແລະ MyApi ຖືກກຳນົດໄວ້ແລ້ວໂດຍແອັບພລິເຄຊັນ. ອາກິວເມັນຂອງ proxy ແມ່ນຊື່ host, ພອດເປັນຈຳນວນເຕັມ ແລະ ຮູບແບບການຂົນສົ່ງຂອງ proxy. ສຳລັບຄຳຮ້ອງ API ສາທາລະນະທີ່ໄດ້ຮັບອະນຸຍາດ ໃຫ້ໃຊ້ HTTP endpoint ທີ່ກົງກັນຈາກບໍລິການຂອງທ່ານ ຫຼື ລາຍຊື່ HTTP proxy. ຮັກສາຈຸດໝາຍປາຍທາງຂອງ API ໄວ້ທີ່ target; API ແບບ HTTPS ສາມາດໃຊ້ HTTP proxy ໄດ້.
ຮັກສາ client ໃຫ້ຢູ່ຕະຫຼອດສຳລັບການເອີ້ນຂອງ typed proxy ຂອງມັນ ແລ້ວປິດມັນເມື່ອວຽກສຳເລັດ. ການສົ່ງ API object ຄືນຈາກ client scope ທີ່ປິດແລ້ວ ເຮັດໃຫ້ມັນບໍ່ມີການຂົນສົ່ງ.
ຕັດສິນວ່າໃຜເປັນເຈົ້າຂອງການຂົນສົ່ງນັ້ນ. ເອກະສານຂອງ builder ອະທິບາຍການຮວມ Apache HTTP Client ແບບເລີ່ມຕົ້ນ. ClientHttpEngine ທີ່ໃຫ້ມາປ່ຽນຂອບເຂດ: httpEngine ແທນ SSL ແລະ ການຕັ້ງຄ່າສະເພາະການເຊື່ອມຕໍ່ຂອງ builder. ຕັ້ງ proxy ແລະ TLS ຜ່ານອິນເຕີເຟສທີ່ຮອງຮັບຂອງ engine ນັ້ນ.
ຕົວຢ່າງເກົ່າທີ່ອີງໃສ່ ClientExecutor ຕັ້ງຄ່າ Apache client ທີ່ຫໍ່ຫຸ້ມແທນ. ໃຫ້ກົງກັບຍຸກນັ້ນ ແທນທີ່ຈະວາງມັນໃນ Jakarta builder.
ໃນທັງສອງສາຂາ ໃຫ້ຮັກສາຊື່ host ຂອງ API ເປັນຕົວຕົນ TLS ພ້ອມເປີດການກວດສອບ. ການພິສູດຢືນຢັນ proxy, ການເຂົ້າສູ່ API ແລະ ຄວາມໄວ້ວາງໃຈໃນໃບຢັ້ງຢືນ ເປັນຂໍ້ກຳນົດແຍກຕ່າງຫາກ; ເສັ້ນທາງຢ່າງດຽວບໍ່ໃຫ້ທຸກຮູບແບບການພິສູດຢືນຢັນ.