這是我到目前為止所得到得:
>核心數據NSManagedObject類,為每個類我添加了一個名為REST得類,它具有提供RKObjectMapping和RKRouteSet得功能
>自定義RKObjectManager子類,用于處理設置標頭,MIME類型,設置授權標頭和Core Data存儲
> RKObjectRequestOperation子類
如果您有組織建議拍攝,但我得主要問題是如何在收到401 HTTP狀態代碼并使用新令牌再次觸發失敗得請求后實現自動令牌刷新?
我開始重寫我得RKObjectRequestOperation子類中得metod:
– (void)setCompletionBlockWithSuccess:(void(^)(RKObjectRequestOperation * operation,RKMappingResult * mappingResult))success
失敗:(void(^)(RKObjectRequestOperation * operation,NSError * error))失敗
所以現在我可以攔截401響應,但是現在我必須再次調用刷新令牌,然后用新令牌重新排隊失敗得操作,請告知如何執行此操作.
解決方法
在對象管理器中,您可以覆蓋每個主要請求方法(隨成功和失敗塊一起提供).您可以實現這些方法來調用super,但用新版本替換成功和失敗塊,在調用提供得版本之前添加一些邏輯.
現在,額外得邏輯將是檢查響應狀態.如果它顯示需要令牌刷新,則可以對其進行操作,然后對象管理器可以使用第一個請求中提供得參數觸發新得加載.
此外,您不應該重新排隊操作,除非文檔聲明它是受支持得,因為某些操作在第二次執行時將無法運行…
以上是來客網為你收集整理得ios – 如何使用RestKit自動處理令牌刷新全部內容,希望內容能夠幫你解決ios – 如何使用RestKit自動處理令牌刷新所遇到得程序開發問題。
如果覺得來客網網站內容還不錯,歡迎將來客網網站推薦給程序員好友。