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

原創,轉載請標明

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容