labaratory-work-1-api

0

Описание

Языки

  • Python81,6%
  • JavaScript18,4%
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
с телом: