2017-01-30 4 views
0

Я изо всех сил пытаюсь получить сообщение об ошибке json с использованием Alamofire и их. success/.failure способ.Получение возвращаемого сообщения об ошибке от Alamofire

Прежде чем использовать это, я могу использовать response.result.value и получить возвращаемое сообщение об ошибке, но теперь я проверяю код состояния .validate(statusCode: 200..<300).

Пробовал несколько вещей, чтобы получить сообщение об ошибке, но он всегда производит нуль или только код состояния.

Alamofire.request(url, method: .post, parameters: body, encoding: JSONEncoding.default) 
      .validate(statusCode: 200..<300) 
      .responseJSON { response in 
       switch response.result {    
       case .success: 
        //Other stuff 
       case .failure(let error): 
        print(response.result.value) //Produces nil when there is an error 
        print(error.localizedDescription) 
        print(response.result.error.customMirror) 
        print(response.result.error.debugDescription) 
        print(response.result.error.unsafelyUnwrapped) 
        print(response.result.error?.localizedDescription) 
       } 
     } 

Как я могу получить ошибку json? Он возвращается как таковой.

{ 
    "status": "error", 
    "message": "Incorrect Password" 
} 
+0

Что вы получаете в результате использования print (response.result.error.debugDescription)? –

+0

@AlexMcPherson 'Alamofire.AFError.responseValidationFailed (Alamofire.AFError.ResponseValidationFailureReason.unacceptableStatusCode (404)' – Allreadyhome

+0

что немного странно, потому что API производит 403 – Allreadyhome

ответ

1

считать, что .validate() аут. Вы увидите более подробное описание.

Смежные вопросы