Tam*_*nad 13 ios swift alamofire
我使用RequestRetrierAlamofire 4.0控制重试过期访问令牌的请求.我在这里关注文档.
我有一个非常类似于文档OAuth2Handler中可用的示例实现RequestAdapter和RequestRetrier.
我遇到的问题func should(_ manager: SessionManager, retry request: Request, with error: Error, completion: @escaping RequestRetryCompletion)是永远不会被召唤.然而adapt,RequestAdapter实现的方法确实被调用了.
调试,我看到SessionDelegate只有should(_,retry,with,completion)在出现错误时调用,但返回与授权问题相关的状态代码的请求似乎不会产生错误,因此永远不会调用该方法.
我在这里错过了什么吗?
Ash*_*ldr 12
完全按照文档中的示例,我没有工作.我已经在使用validate(),如示例中所示.
let sessionManager = SessionManager()
sessionManager.adapter = oauthHandler
sessionManager.retrier = oauthHandler
let urlString = "\(baseURLString)/some/endpoint"
sessionManager.request(urlString).validate().responseJSON { response in
debugPrint(response)
}
Run Code Online (Sandbox Code Playgroud)
虽然,更换后SessionManager()用Alamofire.SessionManager.default,该方法func should(_ manager: SessionManager, retry request: Request, with error: Error, completion: @escaping RequestRetryCompletion)
被调用.
let sessionManager = Alamofire.SessionManager.default
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7378 次 |
| 最近记录: |