เมธอดกำหนดค่า HttpClient ของ Reactor Netty จะคืนค่าตัวอ้างอิงของไคลเอนต์ที่กำหนดค่าแล้ว หากทิ้งผลลัพธ์นั้นไป ตัวอ้างอิงเดิมจะยังคงมีการตั้งค่าเดิม

โค้ดนี้สร้างการกำหนดค่า proxy แล้วสูญเสียมันไป:

HttpClient client = HttpClient.create();
client.proxy(spec -> spec.type(ProxyProvider.Proxy.HTTP)
    .host("proxy.example").port(8080));

ให้เก็บตัวอ้างอิงที่คืนค่าไว้แทน:

client = client.proxy(spec -> spec.type(ProxyProvider.Proxy.HTTP)
    .host("proxy.example").port(8080));

WebClient webClient = WebClient.builder()
    .clientConnector(new ReactorClientHttpConnector(client))
    .build();

ชนิดข้อมูลคือ HttpClient และ ProxyProvider ของ Reactor Netty รวมทั้ง WebClient และ ReactorClientHttpConnector ของ Spring การเรียกเมธอดต่อกันโดยตรงจาก HttpClient.create() เป็นอีกวิธีหนึ่งในการเก็บการกำหนดค่าที่คืนมา สำหรับคำขอ API สาธารณะที่ได้รับอนุญาต รายการพร็อกซี HTTP มีตัวเลือกสำหรับ host และ port ในตัวอย่าง

การตรวจสอบเดียวกันนี้ใช้เมื่อตั้งเวลาหมดอายุของการตอบกลับหรือการจัดการการเปลี่ยนเส้นทาง ควรอ่านสัญญาการคืนค่าของเมธอดแทนการสมมติว่า setter แก้ไขออบเจ็กต์เดิม

ติดตามด้วยว่าตัวอ้างอิงใดไปถึงคอนเนกเตอร์ การกำหนดตัวแปรโลคอลใหม่หลังสร้างคอนเนกเตอร์ไม่ได้แทนที่ไคลเอนต์ที่คอนเนกเตอร์ได้รับไปแล้ว

บทความที่เกี่ยวข้อง