无法从 Alamofire 的 Swift 3 中的 Web 服务的 PATCH API 调用中获得响应

Posted

技术标签:

【中文标题】无法从 Alamofire 的 Swift 3 中的 Web 服务的 PATCH API 调用中获得响应【英文标题】:Not able to get response from PATCH API call for webservice in Swift 3 by Alamofire 【发布时间】:2017-11-16 08:06:55 【问题描述】:

我正在尝试通过 PATCH 方法进行调用。我正在使用 Alamofire 库进行网络调用。对于 GET/POST,它工作正常,但在尝试调用 PATCH 时出现以下错误。

ResponseSerializationFailed
Code 3840 from network

我通过以下方式调用请求

    Alamofire.request(urlString, method: .patch, parameters: params as? [String:Any], encoding: JSONEncoding.default, headers: nil).responseJSON  response in

        requestVC.removeLoader()
        switch (response.result) 
        case .success:
            if response.result.value != nil
                completionHandler (response.result.value)
            
            break
        case .failure(let error):
            failureHandler (error as NSError?)
            break
        
    

【问题讨论】:

调用了,但是你得到的响应不是json。 如何解决这个问题? 检查(例如使用 curl)来自服务器的响应。如果在失败情况下设置断点,则可以使用调试器检查响应。 po String(data: response.data, encoding: .utf8) 【参考方案1】:

它的发生是由于调用 api 请求的一些内部问题。固定。

【讨论】:

以上是关于无法从 Alamofire 的 Swift 3 中的 Web 服务的 PATCH API 调用中获得响应的主要内容,如果未能解决你的问题,请参考以下文章

Swift 3 / Alamofire:无法用数据加载表格

在 Swift 中使用 Alamofire 5.0 获取 3 级深度 JSON 值

Alamofire 4 请求返回 NSArray,无法弄清楚如何在 Swift 3 中使用 SwiftyJSON 进行解析

Swift 3 / Alamofire:我无法获取 UITableView 上的数据

Alamofire 4、Swift 3:无法返回 StatusCode

Swift - 无法获取 Alamofire.request