Sobes.tech
Back to questions
Middle
3

Как отловить ситуацию, когда backend присылает данные не того типа, который ожидает приложение?

Companies where asked
ТАУ Сервис

Answer from AI

sobes.tech 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);
  });