1
저는 Swift와 함께 JWT 토큰과 Alamofire로 작업하고 있습니다. 내 문제는 요청이 nil을 반환 할 때 request-method가 refreshToken() 메서드를 실행하고 HTTP 요청을 다시 시도하기를 원합니다. 내 코드는 다음과 같습니다. 나는 스스로를 실행하려했지만 성공하지 못했습니다. :(완료 핸들러 내의 완료 핸들러?
// Internal method used for the HTTP methods
private func request<A>(resource: Resource<A>, method: Alamofire.HTTPMethod, parameters: [String:String], completion: @escaping (A?) ->()) {
let requestUrl = self.baseurl.absoluteString + resource.url.absoluteString + "?token=" + self.loginManager.getFromKeychain().token!
Alamofire.request(requestUrl, method: method, parameters: parameters).response { response in
// Check if response need reauth
if(response.response?.statusCode == 401 || response.response?.statusCode == 400) {
self.refreshToken(completion: { result in
if(result) {
print("Token got refreshed")
// How do i make the request again?
}
})
}
guard let data = response.data else {
completion(nil)
return
}
completion(resource.parse(data as NSData))
}
}
당신은 당신의 주요 방법 완료 핸들러에 더 많은 매개 변수를 추가 할 수 있습니다라는 요청을 다시 만들기 위해 401 상태 코드 – guiltance
예를 보여 줄 수 있습니까? –