第六章 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/metricsPrometheus指标无

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())

results matching ""

    No results matching ""