Update README.md

This commit is contained in:
2026-07-17 21:15:54 +00:00
parent 111e7dd294
commit 1b00a18fa7

View File

@@ -1647,7 +1647,24 @@ futriix:~> acl grant employees admin rwda
## HTTP API
В субд futriix для взаимодействия субд с веб-прилоджениями по сети, реализован интерфейс RESTful API для всех операций с поддержкой CORS и аутентификации через X-Session-ID. Доступны endpoints: CRUD (/api/db/{db}/{collection}), управление индексами (/api/index/), ACL (/api/acl/), ограничениями (/api/constraint/) и кластером (/api/cluster/).
СУБД Futriix предусмотрен удобный сетевой интерфейс для интеграции с вебприложениями — это RESTful API, который покрывает все основные операции над данными и служебными объектами системы.
API спроектирован с учётом требований современной веб‑разработки:
* Поддержка CORS позволяет выполнять запросы к СУБД из браузерных приложений, размещённых на других доменах, без проблем с политикой безопасности браузеров. <br>
* Аутентификация по XSessionID даёт простой и надёжный механизм управления сессиями: клиент получает идентификатор сессии после авторизации, а затем передаёт его в заголовке X-Session-ID для подтверждения прав на выполнение операций. Такой подход хорошо ложится на привычные схемы работы с сессионными токенами и легко встраивается в существующие стеки.<br>
* **Доступны следующие группы endpoints, каждая из которых отвечает за свою область управления:**
* **CRUDоперации над коллекциями** `(/api/db/{db}/{collection})` — полный набор действий для работы с данными: создание, чтение, обновление и удаление документов. Шаблоны URL позволяют адресовать конкретную базу данных и коллекцию, что удобно при мультитенантной архитектуре или при работе с несколькими логическими пространствами данных.
* **Управление индексами** `(/api/index/)` — инструменты для создания, изменения и удаления индексов, чтобы гибко настраивать производительность выборки под разные типы запросов.
* **Контроль доступа (ACL)** `(/api/acl/)` — настройка правил доступа к объектам СУБД: можно разграничивать права на уровне баз, коллекций, отдельных операций или даже по условиям над данными.
* **Работа с ограничениями** `(/api/constraint/)` — управление декларативными ограничениями целостности (например, enumсписками, диапазонами, уникальностью и т. п.), которые помогают поддерживать корректность данных на уровне СУБД.
* **Администрирование кластера** `(/api/cluster/)` — операции по управлению топологией кластера: добавление и удаление узлов, перераспределение шардов, мониторинг состояния реплик и консенсуса (в том числе на базе Raft). Это особенно важно при динамическом масштабировании и обслуживании распределённой системы.
```sh
# Аутентификация