java 接口回调封装_retrofit+Rxjava,多服务器地址封装.回调接口封装

retrofit的使用已经有很长时间了.如何引用,自行搜索.

1.当前项目,作为BaseUrl的域名(ip地址)有多个.

封装RetrofitUtils工具类.讲BaseUrl作为Map的key,Retrofit实例对象为Value.

8c80c667d66b

当前是kotlin的写法,核心就是map存储retrofit.

2.网络请求的response需要统一处理

retrofit+Rxjava ,其实就是多一句.addCallAdapterFactory(RxJavaCallAdapterFactory.create()),给Retrofit一个观察者.

8c80c667d66b

重写回调,进行统一处理就好了.obs需要实例化.因为可以使用obs.unsubscribe(),在Activity关闭的时候取消回调事件,防止引发异常.

3.如何重写

8c80c667d66b

书写api的时候,我们定义一个结构类Test(名字自定义)

8c80c667d66b

rspCode,RepDesc是错误码及错误原因.info是详情.

泛型变量info可是是任意内容的实体类.通过api传递

8c80c667d66b

回调中,因为我们强行给apiService添加了Test外层类.所以可以直接指定Subscribe的外层泛型.内层泛型,我们通过集成的方式传递.

于是,可以在onNext中统一的处理返回码.然后通过onsuccess进行回调

demo: https://github.com/QunCheung/Retrofit-Rxjava-CallBack.git

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值