Swift Alamofire响应状态代码

时间:2015-10-19 15:48:05

标签: swift alamofire

如何从Alamofire malloc()获取状态代码?

在最新版本中,我可以使用response,但我需要检查状态代码是什么。

代码:

validate

3 个答案:

答案 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包含两个对此案例有用的函数isSuccessisFailure

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代码是好还是坏。