1、项目使用的是Okhttp3 + Retrofit2来实现网络请求服务。
Okhttp初始代码:
@Module
public class ApiServiceModule {
private static final int DEFAULT_CONNECT_TIME_OUT = 30;//连接超时时间
private static final int DEFAULT_READ_TIME_OUT = 30;//读取时间
private static final int DEFAULT_WRITE_TIME_OUT = 30;//读取时间
@Singleton
@Provides
protected APIService provideService() {
OkHttpClient client = new OkHttpClient.Builder()
.connectTimeout(DEFAULT_CONNECT_TIME_OUT, TimeUnit.SECONDS)
.readTimeout(DEFAULT_READ_TIME_OUT, TimeUnit.SECONDS)
.writeTimeout(DEFAULT_WRITE_TIME_OUT, TimeUnit.SECONDS)
.addInterceptor(chain -> {
Request request = chain.request()
.newBuilder()
.addHeader("Content-Type", "application/json")
.addHeader("dataType", "json")
.addHeader("charset", "utf-8")
.addHeader("appType", BuildConfig.appType)
.addHeader("userID", CommonUtil.getUserID())
.addHeader(Constants.API_HEADER_NAME_TOKEN, (String) SharedPreferencesUtil.getData(Constants.SHARED_PREFERENCE