2017-03-13 12 views
-1

내 앱에서 Uber Api를 사용하고 있습니다. 타기를 예약하려고 할 때 발생하는 문제가 있습니다. httpStatus 400 오류가 발생합니다. 그들의 문서에 따르면, 이것은 다양한 요인들로 인해 발생할 수 있습니다. enter image description hereHttpStatus Code 오류 설명을 신속하게 가져올 수 있습니까?

주어진 유형에 대한 설명으로 인해 상태 코드 (항상 "400")를 어떻게 알 수 있습니까? 지금

내 코드 :

if let httpstatuscode = response as? NSHTTPURLResponse 
     { 
      if (error != nil) 
      { 
       print("Error : \(error?.localizedDescription)") 
      } 
      else if httpstatuscode.statusCode != 202 && httpstatuscode.statusCode != 409 
      { 

       print("Status Code\(httpstatuscode.statusCode)") 

       dispatch_async(dispatch_get_main_queue(), {() -> Void in 
        CommonViewController.alertViewUI("Alert", message: "Internal Server Error!") 
       }) 

      } 
      else if httpstatuscode.statusCode == 409 
      { 
       // self.getUberRideLive() 
       print("Status Code\(httpstatuscode.statusCode)") 
       CommonViewController.alertViewUI("Alert", message: "You are already on a ride!") 



      } 
+0

되면 ... 같은 오류의 원인을 확인할 수 있습니다 보인다. 제거 기술을 사용하여 가능성을 제거하십시오 (게시물에서 언급 한 바 있음). 하나씩 확인하고 오류를 제로로 맞출 수없는 경우 기본 처리 방법을 사용할 수 있습니다. 예 : 이메일 확인 여부 등을 확인하십시오. – user1046037

+0

Uber API에 대한 경험이 없지만 https://developer.uber.com/docs/riders/guides/errors에 따라 오류 응답에 시스템 및 사람이 읽을 수있는 오류 메시지가있는 JSON 본문이 있습니다. –

+0

실제로 많은 상태 코드가 있으며 각 상태 코드에는 두 개 이상의 설명이 들어 있습니다. 어떻게 확인할 수 있습니까? –

답변

2

당신이 사용할 수있는 localizedString(forStatusCode:)method 당신이 UBER 오류 당신이해야로부터 설명을하려는 경우, HTTP를하는 오류에 대한 설명을 취득하려는 경우에 유효 HTTPURLResponseclass

에서 UBER 작업에서 JSON 응답을 확인하십시오.

그런 다음 코드는해야 당신이 오류 코드`400`를 얻을

let message: String = HTTPURLResponse.localizedString(forStatusCode: httpstatuscode.statusCode)