Вступить в клуб →
лёгкаявопросСеть и хранение данных

Список пользователей не отрисовывается, если сервер не прислал одно из полей

Модель ответа во Flutter-приложении:

class User {
  final String name;
  final String phone;

  User.fromJson(Map<String, dynamic> json)
      : name = json['name'] as String,
        phone = json['phone'] as String;
}

Для пользователей, которые не подтвердили телефон, сервер поле phone не присылает вовсе. Экран со списком у таких аккаунтов показывает ошибку и пустоту вместо данных.

Что происходит?

  • Приведение отсутствующего значения к String выбрасывает исключение, парсинг всего ответа обрывается — поле должно быть nullable и обрабатываться явно
  • phone получит пустую строку, а пустой экран вызван другой причиной
  • Упадёт только тот виджет, который показывает телефон: остальные элементы списка отрисуются нормально, а на месте телефона будет блок с ошибкой
  • Ошибка проявляется только в release-сборке: в debug приведение null к String разрешено

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела