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方法代码示例相关推荐
- drawimage的用法 java_Java Graphics.drawImage方法代码示例
本文整理汇总了Java中javax.microedition.lcdui.Graphics.drawImage方法的典型用法代码示例.如果您正苦于以下问题:Java Graphics.drawImag ...
- findclass java_Java Context.findClass方法代码示例
import jdk.nashorn.internal.runtime.Context; //导入方法依赖的package包/类 private static Class> simpleType ...
- Bytes int java_Java Bytes.readInt方法代码示例
import net.openhft.chronicle.bytes.Bytes; //导入方法依赖的package包/类 @NotNull @Override public CharSequence ...
- object getkey java_Java S3Object.getKey方法代码示例
import com.amazonaws.services.s3.model.S3Object; //导入方法依赖的package包/类 private S3Object decipher(GetOb ...
- fileset java_Java FileSet.iterator方法代码示例
import org.apache.tools.ant.types.FileSet; //导入方法依赖的package包/类 public void execute() throws BuildExc ...
- x509代码实例java_Java X509AttributeCertificate.getIssuer方法代码示例
import org.bouncycastle.x509.X509AttributeCertificate; //导入方法依赖的package包/类 /** * Parses the contents ...
- toolbar java_Java ToolBar.layout方法代码示例
import org.eclipse.swt.widgets.ToolBar; //导入方法依赖的package包/类 protected ToolBar createToolbar() { fina ...
- getAttribute实例例java_Java ExifInterface.getAttribute方法代码示例
import android.media.ExifInterface; //导入方法依赖的package包/类 public static void copyExif(ExifInterface or ...
- textlayout Java_Java TextLayout.getBounds方法代码示例
import java.awt.font.TextLayout; //导入方法依赖的package包/类 /** * {@inheritDoc} */ @Override public void pa ...
- strip string java_Java StringUtils.strip方法代码示例
import org.apache.commons.lang.StringUtils; //导入方法依赖的package包/类 public static void copyResourceFolde ...
最新文章
- Bitmap Font 报错“characters from the file are not available in the font”解决办法
- HDU 4850 Wow! Such String! 【欧拉回路】【一顿乱构造】
- 2020年快手校招JAVA岗笔试第一题
- 存储过程 SQL server(01)
- 第四篇 Entity Framework Plus 之 Batch Operations
- 最小生成树prim (c++ 已大改)
- 招聘 | 大疆算法类未来大咖招聘
- 算法高级(24)-一致性哈希算法在分布式系统中的使用场景
- Spring Cloud Stream与RabbitMQ 消费者 消息分组
- spring boot @value_spring+vue全栈开发实战-第二章Spring Boot 基础配置-笔记0302-2020
- 高级着色语言HLSL入门(7)
- 常用的C++ STL
- React.js 组件的 props vs state
- Emacs下使用Stardict
- 如何下载免费高清Google谷歌卫星3D地图?
- mmsi是代表船舶什么_海上移动业务识别码(MMSI)是一种九位识别码,主要分配给()在DSC和NBDP通信中相互识别身份是使用。...
- 【场景实现】Vue+element如何让帖子评论带上emoji,这个需求让我在富文本Quill开始了踩坑连连看
- 15.6寸键盘的详细介绍
- 宁王比神联手,率锂电池和材料厂,决战锂矿
- 用NDK交叉编译pixman-0.34
热门文章
- 第二十五章补充内容 5 不能为0的变量
- [转载]Android Layout标签之-viewStub,requestFocus,merge,include
- Prism For WPF Login对话框又简单又合理的方案之一
- 无需羡慕,今后.NET开发想拿30k也可以毫不费劲!
- 部署Dotnet Core应用到Kubernetes(二)
- .NET Core + Kubernetes:StatefulSet
- .NET Core全Linux开发体验分享
- 原创 | 为什么年终奖是一个彻头彻尾的职场圈套?
- 如何正确的探索 Microsoft Ignite The Tour
- 亲自实践Blazor构建桌面应用程序