Ṣètò RestTemplate bean tààrà àti ti proxy nínú Spring
Ṣe àwọn RestTemplate bean ọ̀tọ̀ọ̀tọ̀ fún proxy HTTP àti fún ìsopọ̀ JDK tààrà tí ó ṣe kedere, dípò yíyí ọ̀nà tí a pín káakiri ìpè kọ̀ọ̀kan.
Àwọn ìpè kan gbọ́dọ̀ lo proxy ilé-iṣẹ́ nígbà tí a ń dé iṣẹ́ mìíràn tààrà. Fún àwọn ọ̀nà yẹn ní RestTemplate instance ọ̀tọ̀ọ̀tọ̀ dípò yíyí factory kan tí a pín padà nígbà tí àwọn ìbéèrè lè wọ́pọ̀.
Nínú kíláàsì ìṣètò Spring tí ó wà tẹ́lẹ̀:
@Bean("directRestTemplate")
RestTemplate directRestTemplate() {
var factory = new SimpleClientHttpRequestFactory();
factory.setProxy(java.net.Proxy.NO_PROXY);
return new RestTemplate(factory);
}
@Bean("proxyRestTemplate")
RestTemplate proxyRestTemplate() {
var factory = new SimpleClientHttpRequestFactory();
factory.setProxy(new java.net.Proxy(
java.net.Proxy.Type.HTTP,
new java.net.InetSocketAddress("proxy.example", 8080)));
return new RestTemplate(factory);
}
Fún factory ìbéèrè JDK ti Spring 6.2, Proxy.NO_PROXY ń pèsè ìlànà ìsopọ̀ tààrà tí ó ṣe kedere. Bí a bá fi proxy factory náà sílẹ̀ láìṣètò, a máa gba ọ̀nà ìṣètò URLConnection déédéè láyè, èyí tí ó lè yan proxy JVM.
Lo @Qualifier ní ibi ìfúnni láti yan bean tí a nílò, fún àpẹẹrẹ @Qualifier("directRestTemplate") RestTemplate rest. Kíkàn-ṣe pé kí a túmọ̀ bean méjì kò yan láàárín wọn fún ìgbẹ́kẹ̀lé tí kò ṣe kedere.
Àpẹẹrẹ yìí yan proxy HTTP tí kò ní ìjẹ́rìí. A lè kọ́ ìgbékalẹ̀ tí ó nílò ìjẹ́rìí proxy lọ́tọ̀ pẹ̀lú olupèsè ẹ̀rí tí ó ṣe àtìlẹ́yìn fún, nígbà tí a ń pa ìṣètò yíyan bean kan náà mọ́. Fún Spring 6 pẹ̀lú Apache HttpClient 5, fi ààlà de olupèsè yẹn sí ipari proxy.
Àwọn interceptor tàbí factory ìbéèrè mìíràn tí ohun-èlò náà fi mọ̀ọ́mọ̀ gbé kalẹ̀ ṣì jẹ́ ti ìṣètò alábàáṣepọ̀ tirẹ̀. Pa wọ́n mọ́ pẹ̀lú ọ̀nà tí ó nílò wọn ní ti gidi.