Ffurfweddu procsi Retrofit drwy OkHttpClient
Cyflenwch OkHttpClient wedi’i ffurfweddu i Retrofit gan gadw URL sylfaen yr API yn pwyntio at y gwasanaeth cyrchfan.
Ffurfweddwch y procsi ymlaen yn OkHttp, yna cyflenwch yr un cleient i Retrofit:
import java.net.InetSocketAddress;
import java.net.Proxy;
import okhttp3.OkHttpClient;
import retrofit2.Retrofit;
Proxy proxy = new Proxy(
Proxy.Type.HTTP,
new InetSocketAddress("proxy.example", 8080));
OkHttpClient http = new OkHttpClient.Builder()
.proxy(proxy)
.build();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://api.example/")
.client(http)
.build();
Mae’r darn hwn yn adeiladu’r haen gludo a’r enghraifft Retrofit. Cyn galw build, ychwanegwch ffatrïoedd trawsnewidydd a addasydd galwadau sydd eu hangen ar y rhaglen at y bwtiwr hwn, yna crëwch ryngwyneb y gwasanaeth o’r enghraifft hon.
Cadwch baseUrl yn pwyntio at wasanaeth API gwirioneddol. Os rhowch URL y procsi yno, byddwch yn newid cyrchfan HTTP; nid yw hynny’n ffurfweddu trafodaeth procsi. Mae’r URL sylfaen hefyd yn cadw gofyniad Retrofit am slaes brigo. Gall prawf caniataol ar API cyhoeddus heb ddilysu procsi gymryd cyfeiriad HTTP o’r rhestr dirprwyon HTTP ar gyfer y gwrthrych Proxy ar wahân.
Mae procsi penodol OkHttp yn cael blaenoriaeth dros ei ProxySelector. Defnyddiwch hyn pan ddylai’r cleient gael cyfryngwr sefydlog. Dylai rhaglenni sydd angen llwybro yn dibynnu ar y cyrchfan gynllunio’r polisi hwnnw drwy’r detholydd a gefnogir.
Os yw rhyngwyneb y gwasanaeth eisoes wedi’i greu o enghraifft Retrofit arall, nid yw adeiladu’r enghraifft newydd hon yn symud ceisiadau’r rhestr flaenorol. Cadwch y cleient wedi’i ffurfweddu, yr enghraifft Retrofit a’r gwrthrych gwasanaeth ar yr un llwybr adeiladu.
Ar gyfer procsi dilysu, mae OkHttp yn datgelu proxyAuthenticator ar wahân i’w ddilysydd cyrchfan. Ffurfweddwch ef ar fwtiwr OkHttp pan fo angen, yna trosglwyddwch y cleient gorffenedig i Retrofit. Ar gyfer procsi sy’n defnyddio dilysu Basic, defnyddiwch driniaeth ailgynnig proxyAuthenticator wedi’i chyfyngu.