Sobes.tech
Middle

Ako zachytiť situáciu, keď backend odosiela údaje iného typu, ako ich očakáva aplikácia?

sobes.tech AI

Odpoveď od AI

Чтобы отловить ситуацию, когда backend присылает данные не того типа, который ожидает frontend, можно использовать несколько подходов:

  1. Валидация данных на клиенте — после получения данных из API проверить типы и структуру. Например, если ожидается число, проверить с помощью typeof или Array.isArray.

  2. Использование TypeScript или PropTypes (в React) — статическая типизация помогает выявлять несоответствия типов еще на этапе разработки.

  3. JSON Schema валидация — описать ожидаемую структуру данных в JSON Schema и валидировать полученный JSON с помощью библиотек (например, ajv).

  4. Обработка ошибок парсинга и валидации — если данные не соответствуют ожиданиям, выбрасывать ошибку или показывать пользователю сообщение.

Пример простой проверки в 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);
  });