首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理HTTP状态码?

如何处理HTTP状态码?
EN

Stack Overflow用户
提问于 2019-04-30 08:47:54
回答 4查看 2.1K关注 0票数 0

我正在使用Alamofire。因此,在响应中有状态代码。我是否应该检查和处理所有可用的状态码情况,或者我应该如何处理这些情况。

代码语言:javascript
复制
switch response.response?.statusCode {
                case 201:
                    print("created user")
                case 400:
                    print("Bad request")

                // ...........
                default:
                    print(response.result.value)
}
EN

回答 4

Stack Overflow用户

发布于 2019-04-30 09:25:11

实际上,不需要检查每个状态代码。我通常会使用下面的模板检查请求是成功还是失败。

代码语言:javascript
复制
Alamofire.request(request).responseJSON { (response) in

    switch response.result {
    case .success:
        if let httpURLResponse = response.response {
            if httpURLResponse.statusCode == 200 {
                // Success
            } else {
                // Response Unsuccessful
            }
        } else {
            // Response Unsuccessful
        }
    case .failure:
        // Request Failed
    }

}
票数 0
EN

Stack Overflow用户

发布于 2019-04-30 09:32:15

您可以检查响应代码是否在200-299之间(含200-299)。这将告诉您请求已成功。任何其他代码都是失败的。

如果您想显示特定的错误,请使用响应码。这是标准response codes的列表。如果您可以控制API,请坚持使用标准代码。

票数 0
EN

Stack Overflow用户

发布于 2019-04-30 13:22:03

要从HTTPURLResponse获取状态码,请参阅以下几点,希望它能对您有所帮助。

代码语言:javascript
复制
if let httpResponse = response as? HTTPURLResponse {
     print("error \(httpResponse.statusCode)")
     if httpResponse.statusCode == 200{
         //Success
     }else{
         //Failed
     }
}else {
     //Failed
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55912538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档