HTTP API模块 - MrHKing/mmqtt GitHub Wiki
认证方式
对外API接口,HTTP API 使用 Basic 认证 (opens new window)方式,id 和 password 须分别填写 AppID 和 AppSecret。 默认的 AppID 和 AppSecret 是:mmq/aaaaaa。使用需要在【模块】菜单中找到HTTP API模块,启用即可,如需修改 AppID 和 AppSecret,点击编辑修改即可。
返回响应码
| 响应码 | 说明 |
|---|---|
| 102 | 未知错误 |
| 200 | 正常 |
| 401 | 没有权限 |
获得在线客户端接口
GET /v1/api/clients
返回集群下所有客户端的信息,支持分页 查询参数
| 名称 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| pageNo | int | 是 | 无 | 页码 |
| pageSize | int | 是 | 无 | 数据条数 |
| clientId | String | 否 | 无 | 客户端ID |
| address | String | 否 | 无 | 客户端IP |
| user | String | 否 | 无 | 客户端账户 |
| topic | String | 否 | 无 | 客户端订阅的Topic,用于like查询订阅此Topic的客户端 |
| 返回数据 | ||||
| 名称 | 类型 | 是否必填 | 默认值 | 说明 |
| ------ | ------ | ------ | ------ | ------ |
| code | int | 是 | 无 | 200 |
| message | int | 是 | 无 | 消息 |
| data | Array of Objects | 是 | 所有客户端信息 | |
| pageNo | int | 是 | 无 | 页码 |
| pageSize | int | 是 | 无 | 数据条数 |
| totalCount | int | 是 | 无 | 数据总数 |
| totalPage | int | 是 | 无 | 数据总页 |
| data[0].clientId | String | 是 | 无 | 客户端ID |
| data[0].address | String | 否 | 无 | 客户端IP |
| data[0].user | String | 否 | 无 | 客户端账户 |
| data[0].nodeIp | String | 否 | 无 | 客户端所在节点IP |
例子
$ curl -i --basic -u mmq:aaaaaa -X GET "http://localhost:8888/v1/api/clients?pageNo=1&pageSize=10"
{
"code": 200,
"message": null,
"data": {
"pageSize": 10,
"pageNo": 1,
"totalCount": 1,
"totalPage": 0,
"data": [
{
"clientId": "paho1640921025845000001",
"user": "e",
"connectTiem": "2022-01-20T01:02:39.903+00:00",
"address": "127.0.0.1",
"nodeIp": "192.168.0.113",
"nodePort": 8888
}
]
}
}
踢出客户端接口
GET /v1/api/rejectClient
通过客户端id,踢出客户端 查询参数
| 名称 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| clientId | String | 否 | 无 | 客户端ID |
| 返回数据 | ||||
| 名称 | 类型 | 是否必填 | 默认值 | 说明 |
| ------ | ------ | ------ | ------ | ------ |
| code | int | 是 | 无 | 200 |
| message | int | 是 | 无 | 消息 |
$ curl -i --basic -u mmq:aaaaaa -X GET "http://localhost:8888/v1/api/rejectClient?clientId=paho1640921025845000001"
{
"code": 200,
"message": null,
"data": null
}