retrofit2
2019-01-29 11:10:52 0 举报
retrofit
作者其他创作
大纲/内容
call.execute()
GsonResponseBodyConverter
- gson:Gson- adapter:TypeAdapter
response convert()
CallFactory:OkHttpClient
对应一个接口,内部有自己的一套东西,做了缓存
request convert()
Proxy
Call<T>:OkHttpCall
CallObservable
build()
Converter.Factory
对请求参数和请求结果进行转换,内部有一个默认的转换器:BuiltInConverters
extends ObservableResponse
Y
response
真正的发起请求
是execute而不是enqueue,因为RxJava已经在子线程了
invoke end
1.createCallAdapter()//根据接口返回值类型匹配2.createResponseConverter()3.parseMethodAnnotation()//解析注解等参数
Retrofit
。。。
将CallObservable封装成observable返回
OkHttpCall
new OkHttpCall(serviceMethod)
Retrofit2
adapt()
okhttp3.Call
GsonConverterFactory
+ gson:Gson
N
okhttp3.Request
parseResponse()
invoke()
createRawCall()
- serviceMethod:ServiceMethod- rawCall:okhttp3.Call
CallAdapter:RxJava2Adapter
create()
GsonRequestBodyConverter
不同的参数类型有不同的转换器
+ convert(F):T
loadServiceMethod()
ServiceMethod
newCall()
have cache ?
onNext(response)
Converter:GsonResponseBodyConverter
Call
+ execute():Response+ enqueue(Callback):void+ request():Request
my subscribeOn()
请求回调方式线程切换等工作
rawResponse
- baseUrl:HttpUrl- callFactory:okhttp3.Call.Factory- converterFactories:List- adapterFactories:List
0 条评论
回复 删除
下一页