Я получаю ошибку при передаче объекта JSON в качестве параметра в Alamofire.request
func apiCall2(anyBaseUrl: String = "", apiFunction: ApiName, method m: HTTPMethod = .get,
parameters: [String: Any]? = nil, isJsonEncoding: Bool = false,
completion: @escaping (Bool, Any?, Error?) -> Void) {
var requestUrl = "\(ActiveBaseURL())\(apiFunction.rawValue)"
if anyBaseUrl != "" {
requestUrl = "\(anyBaseUrl)\(apiFunction.rawValue)"
}
var param = [String: Any]()
if let p = parameters {
param = p
}
Alamofire.request(requestUrl, method: m, parameters: param, encoding: isJsonEncoding ? JSONEncoding.default: URLEncoding.default)
.authenticate(user: ApiUserName, password: ApiPassword)
.responseJSON(options: .allowFragments) { response in
print("request body: \(response.request?.httpBody)")
if response.result.isSuccess {
}
print(response.result.error?.localizedDescription)
completion(false, nil, response.result.error)
}
}
Мой настоящий формат JSON
{"discount_code": "", "giftcard_code": "", "dt":
"2018-11-15", "доставка": {
"состояние": "сел",
«имя»: «тест»,
"address1": "testevhsd",
"город": "тестовый город",
"address2": "testfhd",
«мобильный»: «89464633»,
"shipment_code": "ДА",
"почтовый": "672673",
"country_id": "129"}, "iccid": "", "uid": "3592", "product": [
{
«id»: 104,
"type": "countryPlan",
Кол-во: 1
}]}
И вот как я передаю JSON в функцию
var parms: Parameters {
return [
"uid": "3592",
"product": [
["id": 104,"type":"countryPlan", "qty": 1]
],
"shipping": ["name":"Test", "mobile": "89464633", "address1": "testevhsd",
"address2": "testfhd", "city": "test city", "state": "sel",
"postal": "672673", "shipment_code": "YES", "country_id": "129"],
"discount_code": "",
"dt":"2018-11-15",
"giftcard_code": "",
"iccid": ""]
}
Service.shared.apiCall2(apiFunction: .CheckOut, method: .post, parameters: parms, isJsonEncoding: true) { (success, data, _) in
Моя ошибка
"JSON не может быть сериализован из-за ошибки: \ nДанные не могут быть прочитаны, поскольку они имеют неправильный формат."
Сначала я думал, что это из-за того, что веб-сервис не может вернуть правильный JSON, но я ошибся, если я запускаю тот же сервис из почтальона, он работает нормально, и я получаю данные в формате JSON
Я чувствую ошибку, потому что для передачи данных JSON