我想在 Alamofire 请求的失败部分捕获一些状态响应。
以下代码:
let URL = "https://api.foo.bar"
Alamofire.request(URL, method: .post, parameters: parameters).responseObject { (response: DataResponse<UserResponse>) in
switch response.result {
case .success:
// Yea, it worked.
case .failure(let error):
print(error)
}
if let httpStatusCode = response.response?.statusCode {
switch(httpStatusCode) {
case 418:
let alert = UIAlertController(title: "Whoops", message: "I't s a Teapot.", preferredStyle: UIAlertControllerStyle.alert)
alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.default, handler: nil))
self.present(alert, animated: true, completion: nil)
break
default:
print("DEFAULT...")
break
//
}
}
}
由于某种原因返回 500 错误,但这不是来自 API,而是来自代码本身,但它是在哪里导致的呢?我不知道如何正确获取状态代码
响应。
最佳答案
您可以从响应中访问状态代码,如下所示:
switch response.result {
case .success(let jsonResult):
// Case result OK
print(jsonResult)
case .failure(let error):
// Case result Fail error
if let resp = response.response, resp.statusCode == 401 {
print("401 statusCode")
}
}
关于swift - 失败部分未返回 Alamofire 状态代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48516340/