okGo添加公共参数

  1. 静态公共参数

    不会更改的公共参数使用,比如设备信息之类的可以在Application初始化时使用 
    OkGo.getInstance().addCommonParams(params);添加进入,后续请求时都会携带上这些信息。

  2. 动态改变的参数

    我需要上传的是MultipartBody,多文件带参数的上传,一开始我想着使用OkHttp的拦截器来实现,但发现OkGo对Body使用ProgressRequestBody进行过一层包装,且ProgressRequestBody没有提供添加参数的方法,查看到ProgressRequestBody的writeTo方法是使用的包装前的Body进行输出,所以尝试使用RequestBody的writeTo方法进行请求体提取,重装转化成我想要的Body类型,技拙,未果。(求知道的大牛告诉我怎么用这种方法实现)

    所以另辟蹊径,秉承源码之下,了无秘密,发现在发起请求前会先回调CallBack的onStart方法,所以在onStart方法里对request再添加参数实现公共参数的添加。

    可以将CallBack提取为基类,在基类的onStart方法里对公共添加的参数进行统一添加,以及处理(加密之类的)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值