Alamofire에서 일반 API 호출을 호출하고 있으며 네트워킹 관리자 클래스에서이 데이터를 전달하지 않습니다.Alamofire API 요청이 신속하게 responseSerializationFailed와 함께 실패했습니다. 3
내 네트워킹 클래스는
func executeGetRequest(url:String,requestVC:UIViewController,completionHandler:@escaping (_ responseObject:Any?) -> Void!,failureHandler:@escaping (_ connectionError:NSError?) -> Void!){
//Checking internet alert
if !self.isConnectedToInternet(){
// requestVC.showAlert(kText_AppName, message: kText_NoInternet)
return
}
requestVC.showLoader()
Alamofire.request(url).responseJSON {
(response:DataResponse) in
requestVC.removeLoader()
switch(response.result) {
case .success(_):
if response.result.value != nil{
completionHandler (response.result.value)
}
break
case .failure(let error):
failureHandler (error as NSError?)
break
}
}
}
하고 responseSerializationFailed
내가 직접 호출하는 경우로 난 내 메인 클래스에서
kNetworkManager.executeGetRequest(url: kAppAccessTokenURL, requestVC: self, completionHandler: {
(responseObject) ->() in
print("responseObject:\(responseObject!)")
}, failureHandler: {(error)->() in
print("response object:\(error!)")
self.showAlert(message: (error?.description)!, title: kText_AppName)
if error?._code == NSURLErrorTimedOut {
//timeout here
self.showAlert(message: kText_timeout, title: kText_AppName)
}
})
그것의 실패 항상 요청할 받고 보여주는 오류를 호출하고 관리자 클래스가없는 메인 클래스
Alamofire.request(kAppAccessTokenURL).responseString { response in
응답을받을 수 있는데, 누구나 네트워크 클래스에서 잘못되었다고 제게 알릴 수 있습니까? 여기
'Alamofire.request이 (kAppAccessTokenURL가) .responseString'작품에 당신은 당신의 응답이되고 싶어요 때문에 끈. 하지만'Alamofire.request (url) .responseJSON' 호출로 json에 대한 응답을 직렬화하도록 'Alamofire'에게 요청하면 응답이 JSON이 아닌 임의의 문자열이되기 때문에 실패합니다. –
이 문제를 해결하는 방법은 무엇입니까? –
'Alamofire.request (kAppAccessTokenURL) .responseString'에서 무엇을 얻었는지 확인하고 JSON 대신이 응답을 받았다는 것을 서버에 알리십시오 –