而findNeedType
方法就会将ConfigRepository
对应的ConfigService
得到并且返回出去
所以apiService就相当于这样,好像有点Retrofit的create方法的样子了
var apiService: T = HttpProvider.defaultCreate(ConfigService) as Class)
我们继续进入 HttpProvider.defaultCreate
可以看到newRetrofit()
,并且传入了一个HttpConfig,看到这个名字就知道这是Http的配置 接着是newCreate(),接收了我们的接口service类
首先看看newRetrofit方法
这几行代码就是创建了一个Retrofit对象并且保存起来,最后返回出去。 但是他是怎么和HttpConfig联系起来的呢?
我们可以看到这里将生成的Retrofit.Builder()传给了HttpConfig的方法build里
,我们进去看一看
可以看到这里就是我们再熟悉不过的Retrofit的配置环节
所以通过newRetrofit方法,我们就将Retrofit对象配置好并且拿到Retrofit对象,还保存起来方便下次复用
这是个扩展函数,是Retrofit的扩展函数 将传入的ConfigService通过Retrofit.create()生成代理类,并且保存起来复用
注解的介绍
============================================================