Как отловить ситуацию, когда backend присылает данные не того типа, который ожидает приложение?
AI-дан жауап
sobes.tech AI
Чтобы отловить ситуацию, когда backend присылает данные не того типа, который ожидает frontend, можно использовать несколько подходов:
-
Валидация данных на клиенте — после получения данных из API проверить типы и структуру. Например, если ожидается число, проверить с помощью
typeofилиArray.isArray. -
Использование TypeScript или PropTypes (в React) — статическая типизация помогает выявлять несоответствия типов еще на этапе разработки.
-
JSON Schema валидация — описать ожидаемую структуру данных в JSON Schema и валидировать полученный JSON с помощью библиотек (например, ajv).
-
Обработка ошибок парсинга и валидации — если данные не соответствуют ожиданиям, выбрасывать ошибку или показывать пользователю сообщение.
Пример простой проверки в JavaScript:
fetch('/api/data')
.then(res => res.json())
.then(data => {
if (typeof data.count !== 'number') {
throw new Error('Неверный тип данных: count должен быть числом');
}
// дальше работа с данными
})
.catch(err => {
console.error('Ошибка данных:', err.message);
});