第六章 HTTP REST API
6.1 接口概览
除TCP SDK外,SXDB还提供HTTP REST API,便于各种语言和工具集成。所有接口基于JSON格式,默认端口31112。

图6-1 Web管理界面首页
6.2 接口列表
方法
路径
功能
认证
POST
/api/login
用户登录,返回token
无
POST
/api/sql
执行SQL语句
Bearer Token
GET
/api/databases
获取数据库列表
Bearer Token
GET
/api/users
获取用户列表
Bearer Token
GET
/api/logs
获取操作日志
Bearer Token
GET
/api/metrics
Prometheus指标
无
6.3 调用示例
cURL调用
登录获取Token
curl -X POST http://localhost:31112/api/login \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"admin123"}'
返回: {"code":0,"data":{"token":"eyJhbG..."}}
执行SQL查询
curl -X POST http://localhost:31112/api/sql \
-H "Content-Type: application/json" \
-H "Authorization: Bearer eyJhbG..." \
-d '{"db":"myapp","sql":"SELECT * FROM users LIMIT 5"}'
Python requests调用
import requests
登录
resp = requests.post("http://localhost:31112/api/login",
json={"username": "admin", "password": "admin123"})
token = resp.json()["data"]["token"]
执行SQL
headers = {"Authorization": f"Bearer {token}"}
result = requests.post("http://localhost:31112/api/sql",
json={"db": "myapp", "sql": "SELECT * FROM users"},
headers=headers)
print(result.json())