Получение кода = 3840 "Недопустимое значение для символа 0." - PullRequest
1 голос
/ 01 апреля 2019

Я сталкиваюсь с очень странной проблемой при вызове API,

Когда я вызываю API в первый раз, я получаю сообщение об ошибке ниже,

FAILURE: responseSerializationFailed (причина: Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed (ошибка: Ошибка домена = NSCocoaErrorDomain Code = 3840 «Недопустимое значение вокруг символа 0.» UserInfo = {NSDebugDescription = Неверное значение) 0 0. Недопустимое значение) 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 происходит то же самое. Действительно странное и странное поведение! (

...