Sobes.tech
Middle

¿Cómo capturar la situación cuando el backend envía datos del tipo que no espera la aplicación?

sobes.tech AI

Respuesta de la IA

Чтобы отловить ситуацию, когда 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);
  });