Phương thức proxy của Reactor Netty trả về client đã cấu hình
Giữ lại HttpClient do proxy() trả về trước khi truyền nó vào ReactorClientHttpConnector; client gốc không thay đổi.
Các phương thức cấu hình HttpClient trong Reactor Netty trả về một tham chiếu đến client đã được cấu hình. Nếu bỏ qua kết quả đó, tham chiếu cũ vẫn giữ các thiết lập cũ.
Đoạn mã này tạo một cấu hình proxy rồi làm mất nó:
HttpClient client = HttpClient.create();
client.proxy(spec -> spec.type(ProxyProvider.Proxy.HTTP)
.host("proxy.example").port(8080));
Thay vào đó, hãy giữ lại tham chiếu được trả về:
client = client.proxy(spec -> spec.type(ProxyProvider.Proxy.HTTP)
.host("proxy.example").port(8080));
WebClient webClient = WebClient.builder()
.clientConnector(new ReactorClientHttpConnector(client))
.build();
Các kiểu là HttpClient và ProxyProvider của Reactor Netty, cùng với WebClient và ReactorClientHttpConnector của Spring. Nối chuỗi phương thức trực tiếp từ HttpClient.create() là một cách khác để giữ lại cấu hình được trả về. Đối với các yêu cầu API công khai được phép, danh sách proxy HTTP cung cấp các lựa chọn cho host và port trong ví dụ.
Việc kiểm tra tương tự cũng áp dụng khi đặt thời gian chờ phản hồi hoặc xử lý chuyển hướng. Hãy đọc hợp đồng trả về của phương thức thay vì giả định rằng setter thay đổi đối tượng gốc.
Cũng cần theo dõi tham chiếu nào đến được connector. Việc gán lại một biến cục bộ sau khi tạo connector không thay thế client mà connector đã nhận.