Я пытаюсь обновить атрибут с помощью запроса PUT, используя JSONSerialization. Вот моя функция:
func updateRGPDStatus(user:UserModel){
let parameters = ["firstname": user.firsname as Any,
"lastname": user.lastname as Any,
"mail": user.mail as Any,
"has_web_access": user.has_web_access as Any,
"has_mobile_access": user.has_mobile_access as Any,
"id_user": user.id_user as Any,
"has_accepted_rgpd": user.rgpd as Any
] as [String : Any]
guard let url = URL(string: UPDATE_RGPD_STATUS) else { return }
var request = URLRequest(url: url)
request.httpMethod = "PUT"
guard let httpBody = try? JSONSerialization.data(withJSONObject: parameters, options: []) else {
return
}
request.httpBody = httpBody
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession.shared
session.dataTask(with: request) { (data, response, error) in
if let response = response {
print(response)
}
if let data = data {
do {
let json = try JSONSerialization.jsonObject(with: data, options: [])
print(json)
}
catch {
print(error)
}
}
}.resume()
}
, а вот json, который я должен обновить:
{
"user": {
"firstname": "first_name",
"lastname": "last_name",
"mail": "validEmail@mail.com",
"has_web_access": true,
"has_mobile_access": true,
"id_user": 17,
"has_accepted_rgpd": false
}
}
Когда я отправляю свой запрос, я получаю сообщение об ошибке типа «пропущенные параметры», потому что я не включаю атрибут «пользователь» в свой запрос, который я не знаю, как это сделать на данном этапе моего обучения. Любая помощь, пожалуйста. Спасибо ^^