Я новичок в Swift, и я также пытаюсь использовать Alamofire для вызова данных из API. Я весьма озадачен тем, как я буду использовать запрос PUT для обновления данных. Я прочитал некоторые решения здесь, в SO, но я не знаю, как я буду применять их в своем приложении. Я создаю приложение Event, сценарий должен быть таким: когда участник нажимает кнопку Отметиться, он обновляет registered_flag
до true
, что означает, что участник будет помечен как Зарегистрированный и кнопка изменится на Check Out. Я действительно не знаю, правильна ли моя служба API или нет. Надеюсь, вы могли бы мне помочь. Большое спасибо.
JSON участника мероприятия Где в register_flag следует обновить один раз checkInOutButton
{
"event_name": "Q & A",
"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": "Medical Informatics",
"position_name": "Application Developer",
"registered_flag": true,
"registered_datetime": "2018-09-13T08:54:40.150",
"registration_type": 1,
"delete_flag": false,
"manual_reg_flag": false,
"out_flag": false,
"out_datetime": null,
"classification": 6,
"others": "Guest"
}
}
JSON для обновления для регистрации
{
"registered_flag": true,
"registration_type": 1
}
тип обновления
enum UpdateParticipantType: String {
case checkIn = "Check In"
case checkOut = "Check Out"
}
APIService для UpdateParticipant
func updateParticipant(updateType: UpdateParticipantType,
participantID: String,
successBlock: @escaping ([Attendee]) -> Void,
failureBlock: @escaping (Error) -> Void)
{
let updateParticipantURL = URL(string: "\(REGISTER_PARTICIPANT_URL)/\(updateType)/\(participantID)")
Alamofire.request(updateParticipantURL!, method: .put).responseJSON { (response) in
print(response)
if let error = response.error
{
failureBlock(error)
print(error)
return
}
if let jsonArray = response.result.value as? [[String : Any]] {
for anItem in jsonArray {
if let eventparticipants = anItem["event_participants"] as? [[String : Any]] {
var extractedAttendees = [Attendee]()
for participants in eventparticipants{
let success = Attendee.init(JSON: participants)
extractedAttendees.append(success!)
}
successBlock(extractedAttendees)
}
}
}
}
}
JSON to update for check in
на сервер через запрос на размещение? - person inokey   schedule 13.09.2018registered_flag : false
в json, и как только пользователь нажмет кнопку регистрации,registered_flag
станет истинным. - person Titus   schedule 13.09.2018.request
вparameters
- person inokey   schedule 13.09.2018