Получение 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 в теле ответа из моего обработчика сбоев? Большое спасибо!