package com.example.zjj1603b20180910.utils;
import android.util.Log;
import com.example.zjj1603b20180910.api.api;
import java.io.IOException;
import okhttp3.Interceptor;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import retrofit2.Retrofit;
import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
import retrofit2.converter.gson.GsonConverterFactory;
public class HttpUtils {
//成员变量
private static HttpUtils httpUtils;
private OkHttpClient okHttpClient;
//私有构造
private HttpUtils(){
okHttpClient=new OkHttpClient.Builder()
.addInterceptor(new longinterceptor())
.build();
}
//拦截器方法
class longinterceptor implements Interceptor{
@Override
public Response intercept(Chain chain) throws IOException {
//请求对象
Request request = chain.request();
//创建方法
String method = request.method();
//添加日志信息
Log.i("xxx",method+"");
//接收铺对象
Response response = chain.proceed(request);
return response;
}
}
//单例模式
public static HttpUtils getinstance(){
if (httpUtils==null){
synchronized (HttpUtils.class){
if (httpUtils==null){
httpUtils=new HttpUtils();
}
}
}
return httpUtils;
}
public api getpost(String base){
Retrofit retrofit = new Retrofit.Builder()
.client(okHttpClient)
//添加拼接地址
.baseUrl(base)
//添加retrofit对RXjava 的支持
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
//添加gson对象
.addConverterFactory(GsonConverterFactory.create())
.build();
//获取接口
api api = retrofit.create(api.class);
return api;
}
}