Data layer: API client → DTO → mapper → domain; json_serializable/freezed; ошибки сети мапят в domain Failure.
Разбор
- Не парсите JSON в UI.
- Идемпотентность и таймауты.
- Версионирование API.
- Моки в тестах.
Итог
JSON и сеть остаются в data-слое; UI видит domain-модели и состояния.