2017-11-29 29 views
-4

여기 내 코드입니다왜이 오류가 발생합니까, responseSerializationFailed입니까?

 Alamofire.request(URL, method: requestType, parameters: param, encoding: URLEncoding.default, headers: headers).responseJSON { (response:DataResponse<Any>) in 


     switch(response.result) { 
     case .success(_): 
      if response.result.value != nil{ 


       completion(response.result.value!) 
      } 
      break 

     case .failure(_): 
      print(response.result.error!) 
      failure(response.result.error!) 
      break 

     } 
    } 
문자 0 주위

responseSerializationFailed (Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed (오류 도메인 = NSCocoaErrorDomain 코드 = 3840 "문자 주위에 유효하지 않은 값 0"사용자 정보는 = {NSDebugDescription = 잘못된 값 .})) 'Alamofire.AFError'(0x100969000) 유형의 값을 'Swift.Array < __ObjC.NSDictionary>'(0x174094340)로 변환 할 수 없습니다. 2017-11-29 16 : 01 : 09.744776 WTV_GO [2333 : 1690232] 'Alamofire.AFError'(0x100969000) 유형의 값을 'Swift.Array < __ObjC.NSDictionary>'(0x174094340)로 변환 할 수 없습니다.

Firebase 토큰 및 기타 매개 변수를 서버에 넣을 때이 오류가 발생하지만 동일한 매개 변수가 우편 배달부를 통해 정상적으로 작동합니다. 해결책이 있습니까? 감사합니다.

+0

여기에 코드를 게시하십시오. –

+0

@JitendraModi requestType을 가진 샘플을보십시오.이 오류 유형에 대한 해결책을 제공해 줄 수 있습니까? –

+0

'encoding : URLEncoding.default'를'encoding : JSONEncoding.default'로 변경해 보셨습니까? – Shahrukh

답변

0

오류를 처리하지 않은 것처럼 보입니다. success 응답 결과 및 error 응답 결과를 처리하려면 샘플 코드를 참조하십시오.

Alamofire.request(url, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: nil) .responseJSON { response in 
        switch response.result { 
        case .success(_): 
         print(response) 
         // Do your stuff here 
        case .failure(_): 

         print("Request failed with error: \(response.result.error ?? "" as! Error)") 
         //handle error here 
        } 
+0

모든 오류 처리 코드를 구현하고 있습니다. requestType을 사용하여 위의 코드를 볼 수 있습니다. –

+0

예, 문제의 코드를 추가했습니다. 나를 위해 – Shahrukh

1

마지막으로,이 문제를 해결했다. 코드를 encoding: URLEncoding.queryString으로 변경했습니다. encoding: URLEncoding.default

+0

JSONEncoding.default가 작동합니다. –