Skip to content

Frontend 4.4: Архитектура API клиента (паттерн) #38

@SuvStreet

Description

@SuvStreet

Создать базовую архитектуру для работы с API: axios клиент, типизация, паттерны React Query хуков. Готовый шаблон для всех будущих endpoints.

Подзадача 4.4.1: Axios клиент и типизация

  • Установить axios
  • Создать apps/web/lib/api/client.ts с настроенным axios instance
  • Добавить interceptors (baseURL, headers, error handling)
  • Создать apps/web/lib/api/types.ts для общих типов API

Подзадача 4.4.2: Паттерн API сервиса

  • Создать apps/web/lib/api/example-service.ts как референс
  • Реализовать типовые CRUD функции: getAll(), getById(id), create(data), update(id, data), delete(id)
  • Использовать дженерики для переиспользования

Подзадача 4.4.3: Паттерн React Query хуков

  • Создать apps/web/hooks/api/use-example.ts как референс
  • Реализовать хуки: useList(), useDetail(id), useCreate(), useUpdate(), useDelete()
  • Настроить кэширование и invalidation

Подзадача 4.4.4: Документация паттерна

  • Создать docs/frontend/api-integration-pattern.md
  • Описать шаги добавления нового endpoint
  • Примеры использования всех хуков
  • Конвенции именования и структура файлов

Blocked by #35

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions