如何从Alamofire malloc()
获取状态代码?
在最新版本中,我可以使用response
,但我需要检查状态代码是什么。
代码:
validate
答案 0 :(得分:5)
这是有效的(在@MirzaDelic指出我的错误之后):
Alamofire.request(.get, "http://www.google.com")
.responseJSON { response in
if response.response.statusCode == 404 {
// do something
} else {
// do something else
}
}
答案 1 :(得分:1)
在Alamofire 4.0 swift3分支中,我完全需要:
Alamofire.request(request, withMethod: .get, parameters: parameters, encoding: .url, headers: nil)
.validate()
.responseJSON { response in
switch response.result {
case .success:
let statusCode = (response.response?.statusCode)!
print("...HTTP code: \(statusCode)")
}
}
答案 2 :(得分:1)
虽然上述方法可行,但有一种更有效的方法。 response.response.statusCode
会返回非常大量的状态代码。 Alamofire包含两个对此案例有用的函数isSuccess
和isFailure
。
Alamofire.request(.get, "http://example.com/url").responseJSON { response in
let responseErrorCode = response.response!.statusCode
if response.result.isSuccess {
print("Successful HTTP code: \(responseErrorCode)")
// Run code if request is successful
} else if response.result.isFailure {
print("Failure HTTP code: \(responseErrorCode)")
// Run code if request isn't successful
}
}
通过使用上面的代码,您可以轻松了解HTTP代码是好还是坏。