public class RetrofitUtils {
private Retrofit retrofit;
//单例模式
private static final class SINGLE_INSTANCE {
public static final RetrofitUtils _INSTANCE = new RetrofitUtils();
}
//方法请求
public static RetrofitUtils getInstance() {
return SINGLE_INSTANCE._INSTANCE;
}
private RetrofitUtils() {
retrofit = new Retrofit.Builder()
.baseUrl(ApiService.BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.client(buildOkhttpClient())
.build();
}
//设置读写超时
private OkHttpClient buildOkhttpClient() {
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);//打印请求参数,请求结果
return new OkHttpClient.Builder()
.addInterceptor(interceptor)
.writeTimeout(3000, TimeUnit.MILLISECONDS)
.readTimeout(3000, TimeUnit.MILLISECONDS)
.build();
}
public Retrofit getRetrofit() {
return retrofit;
}
//自定义泛型
public <T> T create(Class<T> clazz) {
return retrofit.create(clazz);
}}
Retrofit网络封装类
最新推荐文章于 2024-06-23 06:23:56 发布