正在获取代码= 3840“字符0周围的值无效。”

时间:2019-04-01 12:51:19

标签: ios api swift4 alamofire

调用API时遇到一个非常奇怪的问题,

当我第一次调用API时,我遇到了错误,

  

失败:responseSerializationFailed(原因:Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(错误:Error Domain = NSCocoaErrorDomain Code = 3840“字符0周围的无效值。” UserInfo = {NSDebugDescription =字符0周围的无效值)))

在故障块中,我再次调用相同的API,并且得到了正确的响应。

我使用Alamofire进行API调用。

我非常努力地找出解决方案,但是还没有运气。

下面是我的代码,

Alamofire.request(URL(string: baseURL + url.rawValue)!, method: method, parameters: param, encoding: encoding, headers: header).responseJSON { (response) -> Void in

    UIApplication.shared.isNetworkActivityIndicatorVisible = false
    print(response)
    let responseJson = JSON(response.result.value as Any)
    if let statusCode = response.response?.statusCode
    {
        print(statusCode)
        let status = accepTableStatusCodes.contains(statusCode)
        switch status {

            case true:
               success(responseJson)
               break
            default:
                if let message = responseJson.dictionaryObject?[ApiKeys.message] as? String{

                    if message != ApiKeys.Unauthorized {
                        DELEGATE.window!.rootViewController?.view.showToast(toastMessage: message, duration: 0.3)
                    }

                }
                failure(responseJson)
                break
         }
    } else {
            print("Something went wrong")
    }
}

我尝试将responseJSON更改为responseString。什么都没用。

在标头中,我传递的是以下值,

header = [ApiKeys.Authorization : "Bearer \(user.token ?? "")", "Accept" : "application/json","Content-Type": "application/json"]

我不明白为什么它在第一个调用中引发错误,而同一调用在第二个调用中给出了正确的响应。在我的项目中,我已经集成了将近10多个API,并且在每个API中都发生了同样的事情。 真是奇怪又奇怪的行为! :(

0 个答案:

没有答案