labaratory-work-1-api
5 месяцев назад
5 месяцев назад
5 месяцев назад
5 месяцев назад
6 месяцев назад
README.md
🛒 Shop API — Лабораторные работы №1–2
Проектирование и реализация REST API
📘 Описание предметной области
Shop API — это REST API для управления интернет-магазином. Система реализует базовые и расширенные возможности взаимодействия с данными:
- Пользователи (users) - управление клиентами магазина
- Продукты (products) - каталог товаров с поддержкой версий
- Заказы (orders) - обработка заказов с идемпотентностью
API предоставляет CRUD-операции, JWT-аутентификацию, идемпотентность, ограничение частоты запросов, версионность и документацию OpenAPI.
⚙️ Цели и задачи
Лабораторная №1:
- Закрепить принципы проектирования REST API: простота, стабильность, идемпотентность, версионность
- Реализовать полноценный API с in-memory хранилищем
- Демонстрация развития API от версии v1 до v2
Лабораторная №2:
- Реализовать безопасность и ограничение частоты запросов
- Добавить пагинацию и опциональные поля
- Создать внутренние API эндпоинты
- Обеспечить обратную совместимость
🏗 Архитектура и технологии
- Framework: FastAPI
- Аутентификация: JWT (JSON Web Token)
- Хранилище: In-memory (для демонстрации)
- Документация: OpenAPI (Swagger)
- Безопасность: Rate limiting, HTTPBearer
🚀 Быстрый старт
Установка и запуск
🔐 Аутентификация
Получение JWT токена
Отправьте POST запрос на с телом:/api/v1/token