2024-12-11 16:16:49 +03:00
2024-12-11 16:16:49 +03:00
2024-12-11 16:16:49 +03:00
2024-12-11 16:16:49 +03:00
2024-12-11 16:16:49 +03:00
2024-12-11 16:16:49 +03:00
2024-12-16 12:21:51 +03:00
2024-12-11 16:16:49 +03:00
2024-12-11 16:16:49 +03:00

Сервис Счетчиков

Сервис Счетчиков на базе FastAPI позволяет инкрементировать, получать и сбрасывать счетчики с поддержкой namespace, application и version. Данные сохраняются в базе данных SQLite.

Возможности

  • Инкрементирование счетчика
  • Получение текущего значения счетчика
  • Сброс счетчика до нуля
  • Поддержка пространств имен, приложений и версий
  • Безопасность при одновременных запросах
  • Разворачивание через Docker
  • Требование авторизации по токену (Bearer токен)

Авторизация

Все запросы к эндпоинтам должны быть авторизованы с помощью заголовка Authorization и Bearer токена.
Пример заголовка авторизации:

Authorization: Bearer mysecrettoken

Где mysecrettoken — это ваш действительный токен авторизации.

API Документация

После запуска сервиса, интерактивная документация доступна по адресу: http://localhost:8000/docs

Эндпоинты

Инкрементировать счетчик

  • URL: POST /{namespace}/{application}/{version}

  • Описание: Увеличивает счетчик на 1. Если счетчик не существует, создаёт его с начальным значением 1.

  • Параметры:

    • namespace (строка)
    • application (строка)
    • version (строка)
  • Авторизация: Необходим заголовок Authorization с Bearer токеном.

  • Ответ:

    {
      "namespace": "my_namespace",
      "application": "my_app",
      "version": "1.0",
      "value": 1
    }
    

Получить значение счетчика

  • URL: GET /{namespace}/{application}/{version}

  • Описание: Возвращает текущее значение счетчика. Если счетчик не найден, возвращает 0.

  • Параметры:

    • namespace (строка)
    • application (строка)
    • version (строка)
  • Авторизация: Необходим заголовок Authorization с Bearer токеном.

  • Ответ:

    {
      "namespace": "my_namespace",
      "application": "my_app",
      "version": "1.0",
      "value": 1
    }
    

Сбросить счетчик

  • URL: DELETE /{namespace}/{application}/{version}

  • Описание: Сбрасывает счетчик до 0. Если счетчик не существует, создаёт его с значением 0.

  • Параметры:

    • namespace (строка)
    • application (строка)
    • version (строка)
  • Авторизация: Необходим заголовок Authorization с Bearer токеном.

  • Ответ:

    {
      "namespace": "my_namespace",
      "application": "my_app",
      "version": "1.0",
      "value": 0
    }
    

Примеры использования

Инкрементировать счетчик

curl -X POST \
  "http://localhost:8000/my_namespace/my_app/1.0" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer mysecrettoken"

Получить значение счетчика

curl -X GET \
  "http://localhost:8000/my_namespace/my_app/1.0" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer mysecrettoken"

Сбросить счетчик

curl -X DELETE \
  "http://localhost:8000/my_namespace/my_app/1.0" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer mysecrettoken"
Description
No description provided
Readme 36 KiB
Languages
Python 70.3%
Shell 20.5%
Dockerfile 9.2%