响应不能被序列化,输入数据为零或零长度。

问题描述 投票:0回答:1

如果我用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)
  }
}

我不知道自己做错了什么,因为我在邮递员里也是这么放的。

get request alamofire bearer-token
1个回答
0
投票

默认情况下,Alamofire认为返回200响应代码但没有数据的响应是不正确的,并产生错误。更新服务器以返回204或205状态将正确修复它。或者,你可以创建你自己的实例的 JSONResponseSerializer 与适当的预期空响应代码,并使用它来处理响应。

AF.request(...).response(responseSerializer: customSerializer) { response in

}
© www.soinside.com 2019 - 2024. All rights reserved.