Я создаю приложение Event, в котором пользователь должен нажать Кнопка регистрации , чтобы зарегистрироваться на событие. registered_flag : false
будет true
и registered_type: 0
будет 1
, как только пользователь нажмет кнопку. Но когда я собирал и запускал приложение, появилась ошибка, которая говорит
responseSerializationFailed (Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed (ошибка
Domain = NSCocoaErrorDomain Code = 3840 "Недопустимое значение вокруг символа
0. "UserInfo = {NSDebugDescription = Недопустимое значение вокруг символа 0.})).
Я не совсем уверен относительно содержания моих кодов в моем APIService. Надеюсь, кто-нибудь поможет мне исправить мои коды, чтобы я мог успешно построить и запустить свое приложение. Большое вам спасибо.
приложение / JSON, которое необходимо обновить, которое внутри event_participant
{
"registered_flag": false,
"registration_type": 0
}
event_participant
"event_participants": [
{
"participant_id": "70984656-92bc-4c36-9314-2c741f068523",
"employee_number": null,
"last_name": "Surname",
"first_name": "FirstName",
"middle_name": null,
"display_name": "Surname, FirstName ",
"department_name": "Department",
"position_name": "Developer",
"registered_flag": false,
"registered_datetime": "2018-09-13T08:54:40.150",
"registration_type": 0,
"delete_flag": false,
"manual_reg_flag": false,
"out_flag": false,
"out_datetime": null,
"classification": 6,
"others": "Guest"
}
}
API Сервис с использованием запроса PUT в Alamofire
func updateParticipant(updateType: UpdateParticipantType,
participantID: String,
completionHandler: @escaping(([Attendee]?, Error?) -> Void)) {
let updateParticipantURL = URL(string: "\(REGISTER_PARTICIPANT_URL)/\(updateType)/\(participantID)")
let headers: HTTPHeaders = [
"Content-Type": "application/json"
]
let parameters: Parameters = [
"registered_flag": false,
"registration_type": 0
]
Alamofire.request(updateParticipantURL!, method: .put, parameters: parameters, encoding: JSONEncoding.default, headers: headers).responseJSON { (response) in
switch response.result {
case .success:
print("Done")
if let jsonArray = response.result.value as? [[String : Any]] {
for anItem in jsonArray {
if let eventparticipant = anItem["event_participants"] as? [[String : Any]] {
var extractedAttendee = [Attendee]()
for participant in eventparticipant{
print(participant)
let success = Attendee.init(JSON: participant)
extractedAttendee.append(success!)
}
completionHandler(extractedAttendee, nil)
}
}
}
case .failure(let error):
completionHandler(nil, error)
}
}
}
Структура для участников
struct Attendee: Decodable {
let id: String
let employeeNumber: String?
let lastName: String
let firstName: String
let middleName: String
let displayName: String
let department: String
let position: String
let registeredFlag: Bool
let registeredDateTime: Date?
let registrationType: Int
let deleteFlag: Bool
let manualFlag: Bool
let outFlag: Bool
let outDateTime: Date?
let classification: Int?
let others: String?
ответ почтальона