Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 409阿拉莫菲尔成功了吗?_Ios_Http_Alamofire_Nsurlrequest - Fatal编程技术网

Ios 409阿拉莫菲尔成功了吗?

Ios 409阿拉莫菲尔成功了吗?,ios,http,alamofire,nsurlrequest,Ios,Http,Alamofire,Nsurlrequest,在实现基于阿拉莫菲尔的网络时,我遇到了一件奇怪的事情。因此,我的后端可以返回我409,当我得到它时,我想做出正确的反应,所以我选择了常规解决方案: Alamofire.request(someRequest).responseJSON { response in switch response.result { case .Success(let value): // I get 409 here... if response.response?.

在实现基于阿拉莫菲尔的网络时,我遇到了一件奇怪的事情。因此,我的后端可以返回我
409
,当我得到它时,我想做出正确的反应,所以我选择了常规解决方案:

Alamofire.request(someRequest).responseJSON { response in
    switch response.result {
    case .Success(let value):
        // I get 409 here...
        if response.response?.statusCode == 409 {
            // ...
        }
    case .Failure(let error):
        // While it should be here...
    }
}

为什么会这样?这是某种后端问题还是什么?我只能给出一个解释:请求已完成,所以它是
.Success
,即使您得到了
409
,但这个解释并不能说服我HTTP4.xx一类状态代码适用于客户端似乎出错的情况,因此,在正常情况下,当服务器生成某种错误消息时,您需要向用户显示该消息

在Alamofire world中,如果您希望响应在其具有不可接受的状态代码时生成错误,则可以点击该方法:

Alamofire.request(someRequest)
  .validate(statusCode: 200..<300)
  .responseJSON { response in
    switch response.result {
    case .Success(let value):
      ...
    case .Failure(let error):
      // You'll handle HTTP 409 error here...
  }
}
Alamofire.request(someRequest)
.验证(状态代码:200。。