Util
public class HttpUtil {
public final Api api;
public HttpUtil() {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(Contest.UTL)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.build();
api = retrofit.create(Api.class);
}
private static class GetDataNet{
public static HttpUtil httpUtils = new HttpUtil();
}
public static HttpUtil getInstence(){
return GetDataNet.httpUtils;
}
}
model
public static Observable<HomeCommodityBean> getData(String page){
Observable<HomeCommodityBean> commodity = HttpUtil.getInstence().api.getCommodity(page);
return commodity;
}
拦截器
private HttpUtils(){
OkHttpClient client = new OkHttpClient.Builder().addNetworkInterceptor(new Logging()).build();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(Contest.url)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.client(client)
.build();
api = retrofit.create(Api.class);
}
private class Logging implements Interceptor {
@Override
public Response intercept(Chain chain) throws IOException {
Request request = chain.request();
Request.Builder builder = request.newBuilder().addHeader("soucre", "android");
Response proceed = chain.proceed(request);
return proceed;
}
}