Проблема при отправке массива словаря в SwiftIOS

Программируем под IOS
Ответить
Anonymous
 Проблема при отправке массива словаря в Swift

Сообщение Anonymous »

Я создаю массив словарей, затем передаю его в paramDictionary и отправляю на сервер, но получаю код ответа 422. Я использую Alamofire 5.

Вот структура параметра, которую мне нужно отправить, и она успешно работает в почтальоне, но в приложении всегда происходит сбой
{"check_in": [{"check_in_at":"2020-02-26 03:23:44", "gps_coordinates":"3.1697998046875,101.61672197976593"},
{"check_in_at":"2020-02-26 03:23:45","gps_coordinates":"3.1697998046875,101.61672197976593"}]}


Вот мой код

func postCheckInApi(viewController: UIViewController,
completion:@escaping (_ result:SuccessErrorData)->(),
errorHandler:@escaping (_ result:Error,_ statusCode:Int?)->()//error handler
) {

let url = KCheckin
let geoArr = Constant.getSearchLocationHistory() ?? [GeoTaggingEntity]()
var arr = [[String: String]]()

for i in geoArr{
let dict: [String : String] = ["gps_coordinates" : i.gps_coordinates ?? "", "check_in_at" : i.check_in_at]
arr.append(dict)
}
let parameterDictionary = ["check_in": arr] as [String : Any]
print(parameterDictionary)
let headers: HTTPHeaders = [
"Accept": "application/json",
"Content-Type": "application/json",
"Authorization": Constant.getBearerToken() ?? ""
]

AF.request(url, method: .post, parameters: parameterDictionary, headers: headers).responseData { response in
switch response.result{
case.success(let data):
do{
let jsonData = try JSONDecoder().decode(SuccessErrorData.self, from: data)
print("Success")
completion(jsonData)
}
catch{
//viewController.navigationController?.popToRootViewController(animated: true)
}
case .failure(let error):
print(error)
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/604 ... y-in-swift
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»