Ku habee bean-yada RestTemplate tooska ah iyo kuwa proxyga mara ee Spring
Abuur bean-yo RestTemplate gaar ah oo loogu talagalay proxy HTTP iyo xiriir JDK oo si cad toos u ah, halkii aad ka beddeli lahayd waddo la wadaago agagaarika wicitaan kasta.
Wicitaannada qaar waa inay isticmaalaan proxy-ga shirkadda halka adeeg kale si toos ah loo gaaro. Sii waddooyinkaas RestTemplate instances gaar ah halkii aad ka beddeli lahayd hal warshad la wadaago inta codsiyadu is dulsaari karaan.
Gudaha fasalka habaynta Spring ee jira:
@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);
}
Warshada codsiga JDK ee Spring 6.2, Proxy.NO_PROXY waxay bixisaa siyaasad xiriir toos ah oo cad. Haddii proxy-ga warshadda aan la dejin, waxaa beddelkiisa loo oggolaadaa waddada caadiga ah ee habaynta URLConnection, taasoo laga yaabo inay doorato proxy JVM.
Isticmaal @Qualifier barta duritaanka si aad u doorato bean-ka loo baahan yahay, tusaale ahaan @Qualifier("directRestTemplate") RestTemplate rest. Kaliya qeexidda labada bean ma doorato midkood marka xiriirku aan caddayn.
Tusaalahan wuxuu dooranayaa proxy HTTP oo aan xaqiijin lahayn. Gaadiid u baahan xaqiijinta proxy waxaa si gaar ah loo dhisi karaa iyadoo la raacayo bixiyaha aqoonsiga la taageeray isla markaana la ilaalinayo isla habka doorashada bean-ka. Spring 6 oo leh Apache HttpClient 5, ku xaddid bixiyahaas barta ugu dambeysa ee proxy-ga.
Interceptors kale ama warshado codsi oo ay abka si ula kac ah u rakibtay waxay weli ka tirsan yihiin habaynta macmiilkeeda. La hay waddada dhab ahaantii u baahan iyaga.