我正在研究Alamofire,我正在尝试向服务器发送请求,如下所示:
select * from table where create_date >= '' AND create_date <= ''
但我经常遇到这样的错误:
Alamofire.AFError.ResponseValidationFailureReason.unacceptableStatusCode(500)
当我检查服务器端时,似乎请求的主体是空的 谁能帮我这个?非常感谢!
答案 0 :(得分:3)
我遇到了同样的问题,我的朋友和我通过更改
中的状态代码解决了这个问题validate(statusCode: 200..<500)
到
validate(statusCode: 200..<600)
我是Alamofire的新手,所以我无法解释为什么或如何运作或错误意味着什么。
答案 1 :(得分:1)
对西里尔接受的答案的解释:
HTTP服务器功能通常会返回一个状态代码,用于指示处理请求时发生的情况。 Alamofire可以读取此信息以确定响应是有效还是发生错误。根据服务器的实现方式,您可以告诉Alamofire您认为意味着“有效”响应的状态代码范围,您可以通过将此范围赋予validate()
函数来实现。例如,.validate(statusCode: 200..<500)
告诉Alamofire,状态代码 200到499 的任何响应都应被视为有效,其他每个代码(包括500)都应无效。
答案 2 :(得分:0)
尝试删除request.validate(状态代码:200 .. <300)
答案 3 :(得分:0)
在我的pod文件中调整了我的alamofire版本,此问题已解决。
尝试使用以下方法将其降级到您的pod文件中:
async