Я создаю приложение, которое связывается с веб-приложением, используя Laravel в качестве бэкэнда. Я пытаюсь справиться с проверкой формы, но столкнулся с проблемой.
Например, скажем, когда пользователь входит в систему.
Я пытаюсь войти, используя URLRequest.
let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
guard let data = data, error == nil else {return}
}
task.resume()
Я создал две структуры
struct LoginRequest: Decodable {
let access_token: String
}
И
struct LoginErrors: Decodable {
let error: String
let message: String
}
Теперь я декодирую ответ JSON с помощью этого
do {
let login = try JSONDecoder().decode(LoginRequest.self, from: data!)
} catch {
// error
}
Как я могу попытаться декодировать структуру LoginErrors в случае сбоя LoginRequest? Если это плохая практика, как лучше всего проанализировать json, в котором есть ошибки?
Вот пример json, который мне нужно обработать.
{
"token_type": "Bearer",
"expires_in": 12345678,
"access_token": "abc123",
"refresh_token": "abc123"
}
// Error JSON
{
"error": "invalid_credentials",
"message": "The user credentials were incorrect."
}