Я сталкиваюсь с очень странной проблемой при вызове 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 происходит то же самое.
Действительно странное и странное поведение! (