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。。