Перейти к содержимому

От моков к API: контракт данных

Как заменить источник данных, сохранив компоненты, серверное представление, поиск и границы FSD.

Все статьи
Кому пригодится
Разработчики и технические партнёры
Автор
Команда SkiMobile
Опубликовано

Меняется источник, сохраняется контракт

Сведения о курортах, филиалах, контактах и материалах приходят через типизированные снимки данных. В текущей реализации репозиторий читает локальный мок. Компонент получает данные через публичный экспорт слоя и не выбирает серверный адрес самостоятельно.

Для базы знаний контракт — KnowledgeSnapshot, а граница источника — KnowledgeRepository.read(). Подключение отдельного бэкенда заменяет реализацию read(), сохраняя структуру снимка.

Контракт репозитория · TypeScript
interface KnowledgeRepository {
  read(): Promise<KnowledgeSnapshot>;
}

const snapshot = parseKnowledgeSnapshot(
  await knowledgeRepository.read(),
);

Проверка и композиция

Ответ API проверяется на границе: локали RU/EN, уникальность ID и slug, существование категории, безопасные ссылки, даты и идентификаторы частей статьи. Невалидный ответ не превращается молча в выдуманные сведения.

Модели и репозитории принадлежат entities. Пользовательские сценарии — features, композиция страниц — _pages и _app. Общие компоненты и утилиты shared не импортируют бизнес-сущности верхних слоёв.

Чек-лист подключения

  • Сверьте DTO с локальным контрактом, включая пустые значения и обе локали.
  • Проверьте ошибки загрузки и неизвестные идентификаторы.
  • Используйте один снимок для страницы, метаданных, JSON-LD и sitemap.
  • Настройте обновление серверного кеша после публикации и изменения статьи.
  • Повторите поиск, прямые ссылки, смену языка и чтение посещённой статьи офлайн.

Материалы и источники

Читайте дальше

Движение с учётом доступности

Как управлять циклической анимацией, паузой и уменьшенным движением без потери смысла интерфейса.

Цифровые продукты

  • Анимация
  • Доступность
  • SVG

Подготовка статьи к индексации

Заголовок, описание, постоянный адрес, переводы, источники и статус публикации: что проверить перед выпуском.

Разработка и SEO

  • SEO
  • Контент
  • RU/EN