Есть ли способ разграничить ответы API об успехе и об ошибке в Swift, если в ответе нет статуса запроса? - PullRequest
0 голосов
/ 08 апреля 2019

Я создаю страницу входа, и я использовал для обработки ошибки 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 Ответ

1 голос
/ 08 апреля 2019

Значение error != nil зависит от того, что вы подаете на вашу модель, и как вы кормите, зависит от кода состояния

 if let httpResponse = response as? HTTPURLResponse{
            switch httpResponse.statusCode {
               case 200 : //handle Root data model
               case 401 : //handle wrong password model
            }
        }

Ошибка URLSession отличается. Это когда запрос не удался и ответа нет. Но вы получили ответ, но от вас зависит, хорошо это или плохо.
Ответ сервера должен быть статическим, если не замечено изменение, означающее что-то не так в серверной части.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...