美文网首页
Retrofit2框架原理分析

Retrofit2框架原理分析

作者: gnehz972 | 来源:发表于2017-08-05 22:43 被阅读0次
    • 大概原理
      通过java接口以及注解来描述网络请求,并用动态代理的方式,在调用接口方法前后(before/after)注入自己的方法,before通过接口方法和注解生成网络请求的request,after通过client调用相应的网络框架(默认okhttp)去发起网络请求,并将返回的response通过converterFactorty转换成相应的数据model,最后通过calladapter转换成其他数据方式(如rxjava Observable)
    • 动态代理
      代理对象拦截真实对象的方法调用,在真实对象调用前/后实现自己的逻辑调用
      见Retrofit.create()方法
    • 重点类
      1.Retrofit类 创建接口api的动态代理对象(create()返回api service动态代理对象,调用代理对象上的方法时,会触发代理对象上的invoke方法,这里面会封装好OKHttpCall对象,OKHttpCall的数据返回根据calladapter转换为Observable)
      2.ServiceMethod 核心处理类,解析方法和注解,生成HttpRequest(toRequest方法;创建responseConverter(将response流转换为String或者实体类); 创建callAdapter(转换为rxjava observable)
      3.OKHttpCall 封装okhttp3的调用
      4.Rxjava2CallAdapter 转换成Observable (BodyObservable会对http code做检查,如果错误直接走onError流程)

    相关文章

      网友评论

          本文标题:Retrofit2框架原理分析

          本文链接:https://www.haomeiwen.com/subject/azgwlxtx.html