עבור אינטגרציית Spring Cloud OpenFeign עם Apache HttpClient 5, רשמו את הלקוח המוגדר בתצורת Spring המיועדת:

@Bean
org.apache.hc.client5.http.impl.classic.CloseableHttpClient feignHttpClient() {
    return org.apache.hc.client5.http.impl.classic.HttpClients.custom()
        .setProxy(new org.apache.hc.core5.http.HttpHost(
            "http", "proxy.example", 8080))
        .build();
}

השתמשו בקבוצת תלות תואמת של OpenFeign/HttpClient 5. HC5 נבחר כאשר המחלקות שלו זמינות, אלא אם spring.cloud.openfeign.httpclient.hc5.enabled הוא false.

לפני אבחון bean שמתעלמים ממנו, בדקו את בחירת ה-backend ואת מסלול הבנייה. אפליקציה שבוחרת OkHttp לא תשתמש בלקוח Apache הזה; ל-Feign.builder שנבנה ידנית מחוץ ל-Spring יש קלט לקוח אחר.

השאירו את יעד Feign כ-URL של ה-API. הלקוח הזה מספק את המארח המתווך, הפורט והסכימה; רשימת ה-proxy של HTTP מספקת מועמדים ציבוריים כשמסלול ה-API הזה מאפשר. הגדירו את ספק האישורים של HC5 לפני ההחזרה כשהפרוקסי דורש חשבון.

Spring Cloud OpenFeign 4 הפסיק לתמוך ב-Apache HttpClient 4. דוגמאות ישנות יותר של feign-httpclient עם ייבוא org.apache.http ומאפיינים ישנים שייכות לאינטגרציה הקודמת ההיא.

מאמרים קשורים