swift 3 alamofire - 获取请求给出响应序列化失败

Posted

技术标签:

【中文标题】swift 3 alamofire - 获取请求给出响应序列化失败【英文标题】:swift 3 alamofire - get request gives response serialization failed 【发布时间】:2016-11-19 22:09:48 【问题描述】:

我正在使用 ruby​​ on rails 上的设计进行身份验证。一步一步来,我已禁用 cookie 身份验证,以便在身份验证之前测试检索结果。

如果我打开浏览器并导航到 Alamofire 正在访问的 url,我会得到如下 JSON 格式的结果:

"id":250,"name":null,"username":"walker","bio":null,"gender":null,"birth_date":null,"profile_image_url":null

我正在请求这样的 alamofire 请求:

  Alamofire.request(requestPath, method: .get, parameters: [:], encoding: JSONEncoding.default, headers: [:]).responseJSON  (response) in

            if (response.result.isFailure) 


                completion(false, "")

             else 

                if let result = response.result.value 
                    completion(true, result)
                

            
        

这都在另一个方法的内部,它只是提供了一个完成处理程序,正如您在 Alamofire 请求的完成处理程序内部看到的那样。

我每次都会出错。

错误提示:

responseSerializationFailed : ResponseSerializationFailureReason

我做错了什么?

【问题讨论】:

您找到问题了吗? 我不得不发送一个获取请求而不是一个帖子 这是你在你的例子中所做的,不是吗? 【参考方案1】:

此错误表明您的响应不是 JSON 格式的数据(或您的 API 响应有问题),请尝试使用 post man 之类的东西来检查您的 API 响应并确保一切正常,然后再向 swift 请求

【讨论】:

以上是关于swift 3 alamofire - 获取请求给出响应序列化失败的主要内容,如果未能解决你的问题,请参考以下文章

带参数的 Alamofire 4 Swift 3 GET 请求

Swift Alamofire HTTP 获取请求

Swift 3 / Alamofire 4:在 TableView 上使用 ID 获取数据

表视图数据未在 Alamofire 发布请求调用 swift 3 中显示

Swift:链接多个网络请求,Alamofire

如何使用新的 Swift 3 和 Alamofire 解析 JSON(字典和数组)