Okhttp框架的二次封装,post json格式的参数
来源:互联网 发布:花刺ip代理软件 编辑:程序博客网 时间:2024/06/07 01:10
公司项目后台请求,需要上传json格式的参数,本打算直接使用鸿洋(博客)大大封装的okhttp-utils,但是发现大大虽然封装了表单的post,但是没有json的(可能我眼瞎没看见),所以还是需要根据公司具体的参数结构,进行二次封装。
比如参数如下:
{ args: { pub_param:{ "username":"old wang", "pwd":"4cf7f8flf9fajl0fa1" } pri_param:{ "appversion":"2.0.0", "token":"xxxxxxxx", "userid":12345, "imei":"xxxxxxxxxxxxxxxxxxxx", } }}
这种情况下,参数分为了公参和私参,私参针对每个接口都不一样,但是公参却相对固定。这样就可以封装好公参,暴露私参,每次只需要传私参就可以。当然传参的格式一般都是Map键值对,也就是说,我们也要做Map与Json之间的转化。
关于okhttp-utils的基础用法可以参见博客和github,我这边就不班门弄斧。直接讲如何二次封装了。
首先里面有个PostStringBuilder.java
public class PostStringBuilder extends OkHttpRequestBuilder<PostStringBuilder>{ private String content; private MediaType mediaType; public PostStringBuilder content(String content) { this.content = content; return this; } public PostStringBuilder mediaType(MediaType mediaType) { this.mediaType = mediaType; return this; } @Override public RequestCall build() { return new PostStringRequest(url, tag, params, headers, content, mediaType,id).build(); }}
顾名思义,就是post string类型的参数,我们可以借用这个,做一个中间层,将Map格式的参数,拼接成json,然后再将json转string,对于框架的使用者,提供Map格式的参数,对于服务器,传输json格式的参数。
由于PostStringBuilder继承自OkHttpRequestBuilder,所以要先改OkHttpRequestBuilder,如下:
0 0
- Okhttp框架的二次封装,post json格式的参数
- OkHttp框架二次封装,post json格式的参数(上)
- OkHttp框架二次封装,post json格式的参数(下)
- OkHttp的二次封装
- okhttp的二次封装
- Okhttp的二次封装
- OkHttp的二次封装
- okhttp的二次封装
- OkHttp的二次封装
- okhttp的二次封装
- okhttp简单的二次封装
- 对okhttp的二次封装
- 关于okhttp的二次封装
- Okhttp的简单二次封装
- Okhttp简单的二次封装
- okhttp框架的封装
- OkHttp的基本使用以及二次封装
- 安卓OKhttp的二次封装
- 20161103关于需要同时登陆多个samba账号到服务器的问题(192.168.0.8) net use * /del /y
- 如何轻松在win和linux之间互传文件
- java执行Linux命令
- 调用摄像头拍照
- jquery中的表单序列化serialize()
- Okhttp框架的二次封装,post json格式的参数
- 转:我为什么写作——开博序言
- tomcat报错catalina.sh: line 401: /usr/java/jdk1.7.52/bin/java: No such file or directory
- javascript函数定义及参数
- Mysql5.6安装失败
- jquery的validate插件验证方式
- mysql的查询、子查询及连接查询
- 第4章:单组件TTCN-3-笔记
- Spring定时任务的实现方式--Quartz