Получение JSON ответа от AlamoFire, когда запрос не выполняется


Я новичок в iOS и Swift, и я пытаюсь использовать AlamoFire 3.4.0, чтобы сделать веб-запрос. Когда мой запрос успешен, все работает нормально. Однако, если мой запрос завершится неудачей, сервер вернет код состояния 300 или больше и некоторый JSON в теле ответа с дополнительной информацией о причине неудачи запроса. Например, API, с которым я говорю, требует, чтобы каждый запрос был аутентифицирован. Если аутентификация по какой-то причине не пройдет, я получу обратно 401 и JSON в ответе тело будет:

{"developerMessage" : "Request failed because signature was incorrect."}

Мой код для выполнения этого запроса выглядит следующим образом:

let headers = [
   "X-Auth-Signature" : signature
]

Alamofire.request(.GET, "https://server.com/get", headers: headers)
         .validate()
         .responseJSON { response in
             switch response.result {
             case .Success(let json)
                // process JSON response here
             case .Failure(let error)
                print("Request failed with error: (error)")
                // how can I access the JSON in the response body from here?
             }
         }

Насколько я понимаю, вызов .validate() подтвердит, что код состояния равен 200-299, а все остальное за пределами этого диапазона приведет к .Случай неудачи. Предполагая, что это правильно, когда я вернусь к 401, как я могу получить доступ к JSON в теле ответа из моего обработчика сбоев? Большое спасибо!

1 4

1 ответ:

case .Failure(let error)    
    if let JSON = response.result.value {
        print("JSON: \(JSON)")
    }

Должен сделать трюк