Я пытаюсь сделать запрос HTTP POST на локальный сервер, но когда я делаю вызов, я получаю ошибку 400 на стороне сервера, поэтому я считаю, что есть проблема в том, как я делаю запрос в коде Swift . Я не уверен, правильно ли я устанавливаю тело JSON, но буду очень признателен за любую помощь. Заранее спасибо!
быстрый код:
let url = URL(string: "http://127.0.0.1:5000/get-friends")!
var request = URLRequest(url: url, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10)
request.httpMethod = "POST"
let tempIdDictionary: [String: Int] = ["user_id": 17]
let jsonBody = try? JSONSerialization.data(withJSONObject: tempIdDictionary, options: .fragmentsAllowed)
request.httpBody = jsonBody
let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
guard let data = data else { return }
do {
let friendList = try JSONDecoder().decode(FriendList.self, from: data)
} catch let jsonErr {
print(jsonErr)
}
}
task.resume()
структура для хранения данных json:
struct FriendList: Codable {
let result: [Int]
}
это ошибка, которая появляется в Swift, когда я пытаюсь сделать запрос:
dataCorrupted(Swift.DecodingError.Context(codingPath: [], debugDescription: "The given data was not valid JSON.", underlyingError: Optional(Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 0." UserInfo={NSDebugDescription=Invalid value around character 0.})))