4.1 KiB
Сервис Счетчиков
Сервис Счетчиков на базе 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"