【问题标题】:Response could not be serialized, input data was nil or zero length响应无法序列化,输入数据为零或零长度
【发布时间】:2020-05-05 16:43:34
【问题描述】:

如果我使用邮递员发出请求,它会响应正常,但如果我尝试在我的应用程序中使用它,则会返回 这个错误:

“响应无法序列化,输入数据为零或零长度。”

这就是我在 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)
  }
}

我不知道自己做错了什么,因为和我在 Postman 里放的一样

【问题讨论】:

    标签: get request alamofire bearer-token


    【解决方案1】:

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

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

    【讨论】:

    • 问题是我提出请求时没有到达我的服务器,我的意思是,如果我尝试使用其他端点正常工作或者我使用 Postman 进行验证
    猜你喜欢
    • 2021-11-02
    • 1970-01-01
    • 1970-01-01
    • 2018-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-22
    相关资源
    最近更新 更多