Это мой первый раз, когда я использовал Alamofire
, и это меня сильно расстроило.Не удалось получить сообщение об ошибке сервера от Alamofire 3.3.0
Я использую следующий код для вызова API SIGNUP на бэкэнд API
Alamofire.request(.POST, "\(self.authBaseURL)/signup", parameters: params, headers: headers, encoding: .JSON)
.validate(statusCode: 200..<300)
.validate(contentType: ["application/json"])
.responseJSON { response in
switch response.result {
case .Success(let JSON):
print("Success with JSON: \(JSON)")
success(updatedUser)
case .Failure(let error):
print("Request failed with error: \(error)")
failure(error)
}
}
Проблема заключается в том, что объект ошибки я получаю в функции .Failure
не содержит на стороне сервера сообщение , Я попытался получить доступ к остальным объектам (запрос, ответ, данные, результат) Я не смог найти свое сообщение об ошибке в любом месте
Я всегда получаю следующую ошибку, независимо от того, что сообщение сервера должно сказать , Не удалось выполнить запрос с ошибкой:
FAILURE: Error Domain=com.alamofire.error Code=-6003 "Response status code was unacceptable: 400" UserInfo={NSLocalizedFailureReason=Response status code was unacceptable: 400}
Есть что-нибудь не так я делаю?
Swift 2,2, AlamoFire 3.3.0, Xcode 7,3
Таким образом, вместо '' .responseJSON' попробовать .responseString' и сделать 'печати (ответ)' и посмотреть, если вы получаете то, что не должны. Позже, когда вы найдете проблему, вернитесь к '.responseJSON' – Fennec
Выполнено, что уже, однако ошибка, которую я получаю, по-прежнему остается прежней. Сервер выдает правильное сообщение об ошибке (я создал другого клиента с AngularJS), но я все еще не могу получить его в ios –
@JosephWahba, смогли ли вы решить свою оригинальную проблему? То есть, получение данных об ошибках, кодах, данных пользователя? Я пытаюсь сделать то же самое. Можете ли вы проверить мой вопрос по адресу http://stackoverflow.com/q/42591945/7029165, если вы можете помочь, пожалуйста? – Daniel