OkHttp3请求工具类。
个人封装的一个方便工作使用的OkHttp3轮子,目前可以使用post/get请求,包括文件/多文件上传。
集成方式: Step 1. Add the JitPack repository to your build file Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
Step 2. Add the dependency:
dependencies {
...
implementation 'com.github.Godikov:OkHttp3Tool:v1.1.5'
}
请求示例:
2019/3/6 更新OkHttp3Tool类,链式请求:
OKHttp3Tool.getInstance()
.url(TEST_URL)
.add("key",appKey)
.add("type",type)
.send(callback);
创建一个OkHttpInterface类,并在其中新增方法:
public static void postTest(String appKey, String type, OkHttpResponseCallback<BaseActModel> callback){
OkHttpParams params = new OkHttpParams();
//params.setGetRequest(); 如果是get请求,加上这句话
params.setUrl(TEST_URL);
params.add("key",appKey);
params.add("type",type);
OkHttpUtil.getInstance().request(params,callback);
}
获取回调结果示例(所有回调方法都在主线程回调):
OkHttpInterface.postTest("c40cd8f68b25f2930319130e567e1a16", "", new OkHttpResponseCallback<BaseActModel>() {
@Override
public void onSuccess(String bodyStr, BaseActModel actModel) {
//接口回调成功
//bodyStr: 返回的Json格式数据
//actModel: json转换成的对象
Log.d(TAG,bodyStr);
}
@Override
public void onTimeOut() {
super.onTimeOut();
Log.d(TAG,"onTimeOut");
//连接超时
}
@Override
public void onConnectFail() {
super.onConnectFail();
Log.d(TAG,"onConnectFail");
//连接失败
}
@Override
public void onFailure(Call call, IOException e) {
super.onFailure(call, e);
Log.d(TAG,"onFailure");
//接口请求失败
}
@Override
public void onFormatError() {
super.onFormatError();
//接口返回数据格式错误(非json格式数据时回调)
Log.d(TAG,"onFormatError");
}
@Override
public void onFinish() {
super.onFinish();
Log.d(TAG,"onFinish");
//接口请求结束回调
}
});
用法介绍:
定义请求参数对象:
OkHttpParams params = new OkHttpParams();
设置请求路径:
params.setUrl(TEST_URL);
设置请求方式:
get请求:params.setGetRequest();
post请求:params.setPostRequest(); (默认使用post请求)
添加请求参数:
params.add("key",appKey);
添加文件参数(File):
params.putFile(tag,file);
添加文件列表(List<MultiFile>) MultiFile: 自定义的File,用于请求key和文件对应):
params.putMultiFiles(files);
发送请求:
OkHttpUtil.getInstance().request(params,callback);
请求回调(即上述发送请求时传的第二个参数 callback ):
OkHttpResponseCallback<BaseActModel> callback BaseActModel为json格式String转对象之后的结果类