静态公共参数
不会更改的公共参数使用,比如设备信息之类的可以在Application初始化时使用
OkGo.getInstance().addCommonParams(params);
添加进入,后续请求时都会携带上这些信息。动态改变的参数
我需要上传的是MultipartBody,多文件带参数的上传,一开始我想着使用OkHttp的拦截器来实现,但发现OkGo对Body使用ProgressRequestBody进行过一层包装,且ProgressRequestBody没有提供添加参数的方法,查看到ProgressRequestBody的writeTo方法是使用的包装前的Body进行输出,所以尝试使用RequestBody的writeTo方法进行请求体提取,重装转化成我想要的Body类型,技拙,未果。(求知道的大牛告诉我怎么用这种方法实现)
所以另辟蹊径,秉承源码之下,了无秘密,发现在发起请求前会先回调CallBack的onStart方法,所以在onStart方法里对request再添加参数实现公共参数的添加。
可以将CallBack提取为基类,在基类的onStart方法里对公共添加的参数进行统一添加,以及处理(加密之类的)。
OkGo添加公共参数
最新推荐文章于 2021-05-27 17:16:07 发布