retrofit源码解析(三)

之前描述了retrofit的实例

retrofit源码解析(一)实例化

以及retrofit的网络请求

retrofit源码解析(二)网络请求

那retrofit是如何通过注解获取到请求参数的呢?

我们回到ServiceMethod类build()方法中,在build()方法中,会根据method的注解,去解析请求参数



解析注解

在这里我们看到,根据不同的注解,会解析不同的内容,例如 get,post,put 等方法,以及header等头文件,这里说一下okhttp 的缓存策略,okhttp是使用的是http的缓存策略,通过header中的Cache-Control来判断是否要进行缓存,以及缓存时间,而parseMethodAnnotation()解析出来的结果,会放到ServiceMethod的参数中保存,在请求网络的时候,我们看到在OkHttpCall中,调用了ServiceMethod的toRequest()方法


serviceMethod toRequest

在这个方法中,将解析出来的参数放到了Request中,并通过OkHttpCall的createRawCall传递给了OKHTTP,请求网络

retrofit 封装 git

原创,转载请标明

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容