Я пытаюсь вызвать API входа в систему с помощью Alamofire и получаю ответ, когда использую reponseString, но выдает ошибку с помощью responseJSON, и ошибка говорит:
< blockquote>
failure(Alamofire.AFError.responseSerializationFailed(причина: Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(ошибка: Error Domain=NSCocoaErrorDomain Code=3840 «Неверное значение для символа 2». UserInfo={NSDebugDescription=Недопустимое значение для символа 2.})))
И когда я обращаюсь к API почтальона, он показывает мне ответ как:
{
"status": true,
"user_id": "39",
"message": "Record Found",
"data": {
"id": "39",
"username": "user25",
"email": "xyz@gmail.com",
"invite_code": "zZ3sq1jM",
"facebook_id": null,
"google_id": null,
"first": "Abhay",
"last": "Singh",
"bday": "2021-05-19 00:00:00",
"city": "Punjab",
"state": "Delhi",
"zip": null,
"address": null,
"gender": "male",
"photo": "",
"bio": "Hi",
"weight": "12.00",
"is_coach": false
}
}
мой метод вызова сетевого API:
class func postWebServiceCall(_ strURL : String, params : [String : Any]?, isShowLoader : Bool, success : @escaping SuccessHandler, failure :@escaping FailureHandler){
isShowLoader == true ? CommonUtils.showHud() : nil
print("postWebServiceCall with params => \(params ?? [:]) ")
if isConnectedToNetwork() {
//var headers = HTTPHeaders()
//headers = ["content-type" : "application/json"]
AF.request(strURL, method: .post, parameters: params, encoding: JSONEncoding.default, headers: nil).responseJSON(completionHandler: {(resObj) -> Void in
CommonUtils.hideHud()
let responseCode = resObj.response?.statusCode
//let responseDict = resObj as? [String : Any] ?? [:]
if let safeResponeCode = responseCode {
switch safeResponeCode {
case 200:
switch resObj.result {
case .success(let value):
let res = JSON(value)
success(res)
case .failure(let error):
failure(error)
CommonUtils.showToastMessage(message: "Something went wrong.")
}
default:
print("something went wrong")
CommonUtils.hideHud()
CommonUtils.showToastMessage(message: "Something went wrong.")
}
}
})
} else {
CommonUtils.hideHud()
CommonUtils.showToastMessage(message: "No internet connection.")
}
}
Подробнее здесь: https://stackoverflow.com/questions/676 ... 2-in-swift
Почему Alamofire выдает ошибку 3840 «Недопустимое значение вокруг символа 2» в Swift? ⇐ IOS
Программируем под IOS
1737237234
Anonymous
Я пытаюсь вызвать API входа в систему с помощью Alamofire и получаю ответ, когда использую reponseString, но выдает ошибку с помощью responseJSON, и ошибка говорит:
< blockquote>
[b]failure(Alamofire.AFError.responseSerializationFailed(причина: Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(ошибка: Error Domain=NSCocoaErrorDomain Code=3840 «Неверное значение для символа 2». UserInfo={NSDebugDescription=Недопустимое значение для символа 2.})))[/b]
И когда я обращаюсь к API почтальона, он показывает мне ответ как:
{
"status": true,
"user_id": "39",
"message": "Record Found",
"data": {
"id": "39",
"username": "user25",
"email": "xyz@gmail.com",
"invite_code": "zZ3sq1jM",
"facebook_id": null,
"google_id": null,
"first": "Abhay",
"last": "Singh",
"bday": "2021-05-19 00:00:00",
"city": "Punjab",
"state": "Delhi",
"zip": null,
"address": null,
"gender": "male",
"photo": "",
"bio": "Hi",
"weight": "12.00",
"is_coach": false
}
}
мой метод вызова сетевого API:
class func postWebServiceCall(_ strURL : String, params : [String : Any]?, isShowLoader : Bool, success : @escaping SuccessHandler, failure :@escaping FailureHandler){
isShowLoader == true ? CommonUtils.showHud() : nil
print("postWebServiceCall with params => \(params ?? [:]) ")
if isConnectedToNetwork() {
//var headers = HTTPHeaders()
//headers = ["content-type" : "application/json"]
AF.request(strURL, method: .post, parameters: params, encoding: JSONEncoding.default, headers: nil).responseJSON(completionHandler: {(resObj) -> Void in
CommonUtils.hideHud()
let responseCode = resObj.response?.statusCode
//let responseDict = resObj as? [String : Any] ?? [:]
if let safeResponeCode = responseCode {
switch safeResponeCode {
case 200:
switch resObj.result {
case .success(let value):
let res = JSON(value)
success(res)
case .failure(let error):
failure(error)
CommonUtils.showToastMessage(message: "Something went wrong.")
}
default:
print("something went wrong")
CommonUtils.hideHud()
CommonUtils.showToastMessage(message: "Something went wrong.")
}
}
})
} else {
CommonUtils.hideHud()
CommonUtils.showToastMessage(message: "No internet connection.")
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/67682509/why-alamofire-thorwing-error-3840-invalid-value-around-character-2-in-swift[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия