如果我用postman做了一个请求,它的响应是OK的,但是如果我尝试在我的应用程序中使用它,就会返回这样的错误:"Response could not serialized, input data nil or zero length.
"Response could not be serialized, input data was nil or zero length." "响应无法序列化,输入数据为零或零长度"
这就是我在SwiftUI上提出请求的方式。
let headers: HTTPHeaders = [
.authorization(bearerToken: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6Im5yb2NoYSIsImNvcnJlb0VsZWN0cm9uaWNvIjoibmVzdG9yLnJvY2hhQGZvcnRlaW5ub3ZhdGlvbi5teCIsInRpcG9Mb2dpbiI6IjIiLCJqdGkiOiJjOGIwZWQ1MC1hY2UxLTQ2MzItYjQxOS1mZjI0NWEzOTkyYWMiLCJleHAiOjE1ODg3MDAwNzN9.TQxA9c9TzqtDbFJSbnWMIK_vUshdVWG5kUnSN2c4Gk8"),
.accept("application/json")
]
AF.request("http://192.168.0.14:81/api/visitas/movil/dia-en-curso/usuario/2020/dia/=05%2F05%2F2020", headers: headers).responseJSON{ response in
switch(response.result){
case .success(let response):
print(response)
case .failure(let error):
print(error.localizedDescription)
}
}
我不知道自己做错了什么,因为我在邮递员里也是这么放的。
默认情况下,Alamofire认为返回200响应代码但没有数据的响应是不正确的,并产生错误。更新服务器以返回204或205状态将正确修复它。或者,你可以创建你自己的实例的 JSONResponseSerializer
与适当的预期空响应代码,并使用它来处理响应。
AF.request(...).response(responseSerializer: customSerializer) { response in
}