public class RetrofitUtils { private static volatile RetrofitUtils instance; private final Retrofit retrofit; private RetrofitUtils(){ OkHttpClient client = new OkHttpClient.Builder() .addInterceptor(new Logger()).build(); retrofit = new Retrofit.Builder() .client(client) .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) .addConverterFactory(GsonConverterFactory.create()) .baseUrl("http://120.27.23.105/") .build(); } public static RetrofitUtils getInstance(){ if(instance==null){ synchronized (RetrofitUtils.class){ if(instance==null){ instance=new RetrofitUtils(); } } } return instance; } public ApiService getApiService(){ ApiService apiService = retrofit.create(ApiService.class); return apiService; } class Logger implements Interceptor { @Override public Response intercept(Chain chain) throws IOException { Request original = chain.request(); HttpUrl url=original.url().newBuilder() .addQueryParameter("source","android") .build(); //添加请求头 Request request = original.newBuilder() .url(url) .build(); return chain.proceed(request); } } }
增加请求头的Retorfit封装
最新推荐文章于 2024-07-12 16:28:21 发布
本文介绍了一个Retrofit实用封装示例,通过单例模式提供Retrofit实例,并添加了自定义拦截器实现日志记录及参数添加功能。使用OkHttp进行网络请求,并集成了RxJava2CallAdapterFactory和GsonConverterFactory。
1002

被折叠的 条评论
为什么被折叠?



