重磅推出 RxHttpUtils 2.x 版本
RxJava+Retrofit封装,基于RxJava2和Retrofit2重构,便捷使用
上次封装的是基于RxJava1版本的,时隔半年多之后现在推出基于RxJava2的版本,相比上一版本提升不少,配置更加灵活,现在放出来供大家学习使用,使用过程中如有问题欢迎提出建议,不断完善这个库!
添加Gradle依赖
先在项目根目录的 build.gradle 的 repositories 添加:
然后在dependencies添加:
|
|
使用说明
1、使用前自己的application类必须继承BaseRxHttpApplication
继承BaseRxHttpApplication之后在自己的Application的onCreate方法中进行初始化配置
|
|
2、自己定义的实体类必须继承BaseResponse基类
|
|
代码实例—–具体参数意义请看下边的参数说明
1、使用Application里边的全局配置参数的请求示例
|
|
2、单个请求配置参数示例(可以根据需求选择性的配置)
|
|
3、链式请求–请求参数是上个请求的结果
|
|
4、文件下载 —-使用简单粗暴
|
|
参数说明
全局参数:在application中配置的参数都是以setXXX开头的,根据实际需求配置相应参数即可
|
|
单个请求参数:
123456789101112131415161718192021222324252627 //单个请求的实例getSInstance(getSingleInstance的缩写).getSInstance()//单个请求的baseUrl.baseUrl("https://api.douban.com/")//单个请求的header.addHeaders(headerMaps)//单个请求是否开启缓存.cache(true)//单个请求的缓存路径及缓存大小,不设置的话有默认值.cachePath("cachePath", 1024 * 1024 * 100)//单个请求的ssl证书认证,支持三种方式//1、信任所有证书,不安全有风险.setSslSocketFactory()//2、使用预埋证书,校验服务端证书(自签名证书)//.setSslSocketFactory(getAssets().open("your.cer"))//3、使用bks证书和密码管理客户端证书(双向认证),使用预埋证书,校验服务端证书(自签名证书)//.setSslSocketFactory(getAssets().open("your.bks"), "123456", getAssets().open("your.cer"))//单个请求是否持久化cookie.saveCookie(true)//单个请求超时.writeTimeout(10).readTimeout(10).connectTimeout(10)//单个请求是否开启log日志.log(true)//区分全局变量的请求createSApi(createSingleApi的缩写).createSApi(ApiService.class)
注意事项:
适合请求结果是以下情况的(当然用户可以根据自己的实际需求稍微修改一下代码就能满足自己的需求)
code为错误状态码 ; msg为错误描述信息
注意:请求成功时,msg字段可有可无。
{
code: 0/400/401...,
msg: 错误描述...,
...
...
...
}
如果你的服务器返回不是以上格式不要惊慌,下载源码,源码其实很简单,自己重写一个BaseResponse基类,根据自己需求处理,
修改一下BaseObserver和ISubscriber中泛型继承的类就行了
后面会陆续完成文件上传的封装,敬请期待…
如果遇到问题或者好的建议,请反馈到:issue、lygttpod@163.com 或者lygttpod@gmail.com
如果觉得对你有用的话,点一下右上的星星赞一下吧!
系列文章
RXjava+Retrofit 史上最精简封装(RxHttpUtils 1.x)使用说明
RxJava+Retrofit 史上最精简封装(RxHttpUtils 2.x)如何封装