Я пытаюсь отправить запрос API, который должен выглядеть следующим образом:
https://api.gibbly.com/1/device?format=json&body={"selection"={"selectionType":"registered","selectionMatch":"","includeRuntime":true}}
Однако, когда я использую код ниже, я получаю сообщение об ошибке. В сегменте [RESULT] ответа я получаю следующее:
[RESULT] FAILURE: responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(error: Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 0." UserInfo={NSDebugDescription=Invalid value around character 0.}))
Я попробовал запрос с помощью Postman, и он отлично работает, поэтому я думаю, что проблема вызвана кодом.
Основываясь на первом утверждении «print» в коде, тело HTTP выглядит корректно:
Optional({"selection":{"selectionType":"registered","selectionMatch":"","includeSettings":true}})
Единственное, о чем я могу думать, это то, что Alamofire не добавляет "format = json & body =" в запрос, но я не могу понять, как это понять. Любая помощь будет оценена.
let headers: HTTPHeaders = [
"Authorization": "Bearer adsf023494axadf32342",
"Content-Type": "text/json"
]
let parameters: [String: Any] = [
"selection":[
"selectionType":"registered",
"selectionMatch":"",
"includeSettings":true
]
]
Alamofire.request(url!, method: .get, parameters: parameters, encoding: JSONEncoding.default, headers: headers).responseJSON {
response in
print(NSString(data: (response.request?.httpBody)!, encoding: String.Encoding.utf8.rawValue))
print(response)
}