# Connection Pool API Examples 连接池管理接口用于在后端运行时直接管理数据库连接,所有请求均使用 `POST`,并返回统一的 JSON 响应结构。 > 注意:系统会自动将客户端的 IP 附加到连接池内部使用的 `conn_id`(例如 `mysql_primary@127-0-0-1`),响应内容会返回最终 ID。客户端在请求体中仍然只需要提交原始 `conn_id`,系统会基于发起请求的 IP 自动完成匹配。 ## 1. 注册新连接 ```bash curl -X POST http://localhost:8080/api/v1/connection_pool/register \ -H "Content-Type: application/json" \ -d '{ "conn_id": "mysql_primary", "db_detail": { "type": "mysql", "version": "v8", "host": "127.0.0.1", "port": 3306, "username": "root", "password": "secret", "database": "demo", "schema": "demo" }, "config": { "max_open_conns": 10, "max_idle_conns": 5, "max_idle_time_seconds": 300, "max_lifetime_seconds": 600 } }' ``` **响应示例** ```json { "code": 0, "msg": "注册连接成功", "data": { "conn_id": "mysql_primary@127-0-0-1", "type": "mysql", "version": "v8", "last_used": "2024-03-12T10:21:33.456789+08:00", "connected": true, "max_idle_time_seconds": 300, "max_lifetime_seconds": 600, "max_open_conns": 10, "max_idle_conns": 5 } } ``` ## 2. 查看连接池状态 ```bash curl -X POST http://localhost:8080/api/v1/connection_pool/stats \ -H "Content-Type: application/json" \ -d '{}' ``` **响应示例** ```json { "code": 0, "msg": "操作成功", "data": { "connections": [ { "conn_id": "mysql_primary@127-0-0-1", "type": "mysql", "version": "v8", "last_used": "2024-03-12T10:21:33.456789+08:00", "connected": true, "max_idle_time_seconds": 300, "max_lifetime_seconds": 600, "max_open_conns": 10, "max_idle_conns": 5 } ] } } ``` ## 3. 检测连接可用性 ```bash curl -X POST http://localhost:8080/api/v1/connection_pool/ping \ -H "Content-Type: application/json" \ -d '{ "conn_id": "mysql_primary" }' ``` **响应示例** ```json { "code": 0, "msg": "连接可用" } ``` ## 4. 关闭指定连接 ```bash curl -X POST http://localhost:8080/api/v1/connection_pool/close \ -H "Content-Type: application/json" \ -d '{ "conn_id": "mysql_primary" }' ``` **响应示例** ```json { "code": 0, "msg": "连接已关闭" } ``` ## 5. 关闭全部连接 ```bash curl -X POST http://localhost:8080/api/v1/connection_pool/close_all \ -H "Content-Type: application/json" \ -d '{}' ``` **响应示例** ```json { "code": 0, "msg": "所有连接已关闭" } ```