Cumraigh póna RestTemplate díreacha agus trí sheachfhreastalaí in Spring
Cruthaigh póna RestTemplate ar leith do sheachfhreastalaí HTTP agus do nasc JDK díreach go sainráite in ionad bealach comhroinnte a mhalartú timpeall glaonna aonair.
Caithfidh roinnt glaonna an seachfhreastalaí corparáideach a úsáid agus sroichtear seirbhís eile go díreach. Tabhair cásanna RestTemplate ar leith do na bealaí sin seachas feiste comhroinnte amháin a athrú agus iarratais ag forluí.
Taobh istigh de rang cumraíochta Spring atá ann cheana:
@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);
}
Maidir le feiste iarratas JDK Spring 6.2, soláthraíonn Proxy.NO_PROXY beartas díreach ceangail atá sainráite. Má fhágtar seachfhreastalaí na feiste gan socrú, ceadaítear an ghnáthchonair chumraíochta URLConnection ina ionad, a d'fhéadfadh seachfhreastalaí JVM a roghnú.
Úsáid @Qualifier ag an bpointe insteallta chun an póna riachtanach a roghnú, mar shampla @Qualifier("directRestTemplate") RestTemplate rest. Ní roghnaíonn sé ach an dá phóna a shainmhíniú eatarthu le haghaidh spleáchais atá débhríoch.
Roghnaíonn an sampla seo seachfhreastalaí HTTP gan fíordheimhniú. Is féidir iompar a dteastaíonn fíordheimhniú seachfhreastalaí uaidh a thógáil ar leith lena sholáthraí dintiúir thacaithe agus an tsocrú céanna roghnúcháin póna á choinneáil. Le haghaidh Spring 6 le Apache HttpClient 5, teorannaigh an soláthraí sin do dheireadhphointe an seachfhreastalaí.
Baineann idirghabhálaithe nó feistí iarratais eile a shuiteálann an feidhmchlár go hintinniúil lena chumraíocht cliaint féin fós. Coinnigh iad leis an mbealach a dteastaíonn siad go fírinneach uaidh.