第六章 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())

results matching ""

    No results matching ""