okhttputils java_Java OkHttpUtils.post方法代码示例
import com.zhy.http.okhttp.OkHttpUtils; //導入方法依賴的package包/類
@Override
public void performRequestAsync(AyoRequest request, BaseResponseDispatcher responseHandler, BaseHttpCallback callback) {
String url = request.url;
//基于OkHttpUtils輔助類
//1 method決定了OkHttpRequestBuilder的哪個子類
if(request.method.equalsIgnoreCase("get")){
OkHttpUtils
.get()
.headers(request.headers)
.url(url)
.tag(request.flag)
.build()
.execute(new MyStringCallback(request, responseHandler, callback));
}else if(request.method.equalsIgnoreCase("post")){
boolean hasStringEntity = (request.stringEntity != null && !request.stringEntity.equals(""));
boolean postFileLikeForm = (request.files != null && request.files.size() > 0);
boolean postFileLikeStream = (request.file != null);
//情況1:postForm
if(!hasStringEntity && !postFileLikeForm && !postFileLikeStream){
OkHttpUtils
.post()//
.url(url)
.headers(request.headers)
.params(request.params)
.tag(request.flag)
.build()
.execute(new MyStringCallback(request, responseHandler, callback));
}
//情況2:postString
//情況3:postFile--流形式,不帶name,帶mime
//情況4:postFile--表單形式,帶name,帶filename
if(hasStringEntity){
OkHttpUtils
.postString()
.url(url)
.headers(request.headers)
.mediaType(MediaType.parse("application/json; charset=utf-8"))
.content(request.stringEntity)
.tag(request.flag)
.build()
.execute(new MyStringCallback(request, responseHandler, callback));
}else if(postFileLikeStream){
OkHttpUtils
.postFile()
.url(url)
.headers(request.headers)//
.file(request.file)
.build()
.execute(new MyStringCallback(request, responseHandler, callback));
}else if(postFileLikeForm){
PostFormBuilder b = OkHttpUtils.post();
for(String key: request.files.keySet()){
File f = request.files.get(key);
b.addFile(key, f.getName(), f);
}
b.url(url)//
.params(request.params)//
.headers(request.headers)//
.build()//
.execute(new MyStringCallback(request, responseHandler, callback));
}
}else{
throw new RuntimeException("使用了不支持的http謂詞:" + request.method);
}
}
總結
以上是生活随笔為你收集整理的okhttputils java_Java OkHttpUtils.post方法代码示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java打包维护_java打包详解
- 下一篇: java美元兑换,(Java实现) 美元