网络拦截器和工具类

//Interceptor


package com.bwei.zonghe_1.data.utils;

import java.io.IOException;

import okhttp3.HttpUrl;
import okhttp3.Request;
import okhttp3.Response;

/**
 * 网络拦截器
 */

public class Interceptor implements okhttp3.Interceptor{
    @Override
    public Response intercept(Chain chain) throws IOException {
        Request request = chain.request();
        String method = request.method();
        HttpUrl url = request.url();
        Response proceed = chain.proceed(request);
        return proceed;
    }
}

  //RetrofitUtil

package com.bwei.zonghe_1.data.utils;

import com.bwei.zonghe_1.data.service.ApiService;

import java.util.concurrent.TimeUnit;

import okhttp3.OkHttpClient;
import retrofit2.Retrofit;
import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
import retrofit2.converter.gson.GsonConverterFactory;

/**
 * Created by 杨柳 on 2018/9/21.
 */

public class RetrofitUtil {
    //1.
    private OkHttpClient okHttpClient;
    private Retrofit retrofit;
    private static RetrofitUtil retrofitUtil;
    private RetrofitUtil(){
        okHttpClient = new OkHttpClient.Builder()
                .addInterceptor(new Interceptor())
                .readTimeout(3000, TimeUnit.MILLISECONDS)
                .connectTimeout(3000,TimeUnit.MILLISECONDS)
                .build();
    }

    //单例模式
    public static RetrofitUtil getInstance(){
        if ( null == retrofitUtil){
            synchronized (RetrofitUtil.class){
                if ( null == retrofitUtil){
                    return new RetrofitUtil();
                }
            }
        }
        return retrofitUtil;
    }

    //请求
    public ApiService getapiService(String baseUrl){
        retrofit = new Retrofit.Builder()
                .addConverterFactory(GsonConverterFactory.create())
                .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
                .baseUrl(baseUrl)
                .client(okHttpClient)
                .build();
        ApiService apiService = retrofit.create(ApiService.class);
        return apiService;
    }
}

猜你喜欢

转载自blog.csdn.net/Yang_Liu_1/article/details/82809808
今日推荐