41 lines
1.4 KiB
Markdown
41 lines
1.4 KiB
Markdown
# LR3: REST API на Flask
|
|
|
|
Реализация находится в папке `LR3`:
|
|
|
|
- `LR3/irfm_lr3.py` - Flask REST API для таблицы `calls` из `data/calls.db`
|
|
- `LR3/cli_client.py` - CLI-клиент для ручного взаимодействия с API
|
|
|
|
## Возможности API
|
|
|
|
1. Получение списка объектов с пагинацией: `GET /api/calls?page=1&per_page=20`
|
|
2. Получение одного объекта по ключу (ID = `rowid`): `GET /api/calls/<id>`
|
|
3. Добавление объекта: `POST /api/calls`
|
|
4. Редактирование объекта: `PUT /api/calls/<id>`
|
|
5. Удаление объекта: `DELETE /api/calls/<id>`
|
|
6. Дополнительный метод (общее число обращений за час): `GET /api/stats/hour/<hour>`
|
|
|
|
Формат ответа:
|
|
|
|
- JSON (по умолчанию)
|
|
- WSDL/XML: передайте `?format=wsdl` (или `Accept: application/wsdl+xml`)
|
|
- Отдельное описание WSDL: `GET /api/wsdl`
|
|
|
|
## Запуск
|
|
|
|
```bash
|
|
uv sync
|
|
uv run python LR3/irfm_lr3.py
|
|
```
|
|
|
|
Сервер поднимется на `http://127.0.0.1:5000`.
|
|
|
|
## Запуск CLI
|
|
|
|
В отдельном терминале (при запущенном сервере):
|
|
|
|
```bash
|
|
uv run python LR3/cli_client.py
|
|
```
|
|
|
|
CLI позволяет вручную выбрать метод API, указать входные данные и формат ответа.
|