#swift
#swift
Вопрос:
Я создаю страницу входа в систему, и я использовал для обработки ошибок API, таких как:
{"status":"error","answer":"Password is wrong"}
таким образом:
if error?["status"] as? String == "error" {
Alert.showBasic(title: error!["status"] as! String, message: error!["answer"] as! String, vc: self)
Это сработало отлично. Но теперь я работаю с другим API, который отвечает на мой запрос таким образом:
{"password":["password is wrong"]}
Путаница, которую я испытываю, заключается в том, что я не получаю из ответа API статус для моего запроса, например, успех или ошибка.
Есть ли способ справиться с этим?
Комментарии:
1. Как выглядит ответ, когда он завершается успешно?
2. Выглядит так же! вот пример успеха: {«телефон»:»123456789″, «электронная почта»:»someemail@ios.com «,»идентификатор»: 147}
3. Я не знал, что могут быть ответы API полностью без кода состояния: o
4. Но выглядит ли ответ так же, когда есть ошибка, я сомневаюсь в этом?
5. Ответ об ошибке написан в вопросе. {«пароль»: [«пароль неверный»]}
Ответ №1:
error != nil
Зависит от того, что вы передаете в свою модель и как вы передаете, зависит от кода состояния
if let httpResponse = response as? HTTPURLResponse{
switch httpResponse.statusCode {
case 200 : //handle Root data model
case 401 : //handle wrong password model
}
}
Ошибка URLSession отличается . Это когда запрос выполнен с ошибкой и ответа нет. Но вы получили ответ, но вам решать, хороший он или плохой.
Ответ сервера должен быть статическим, если есть изменение, которое вы не заметили, означает, что что-то не так в серверной части.