功能性API接口说明

当coolpy7启动时,在没有改变相关启动参数的前提下,coolpy7会启动本api服务在8081端口。默认的登陆账号为admin,密码为coolpy7。如需修改登陆可在启动参数使用 -syst=xxxx设置。已对接完成的前端项目已开源于:https://github.com/Coolpy7/admin

公共分类

登录

基本信息

Path: /login/account

Method: POST

接口描述:

请求参数

Headers

Body

返回数据

//登陆示例
curl --location --request POST 'http://localhost:8081/login/account' \
--header 'Content-Type: text/plain' \
--data-raw '{"userName": "admin", "password": "coolpy7"}'

鉴权说明:除登录接口外,其他接口均需把登录接口返回的TOKEN值 写到HTTP的header中,并使用Authorization为header键值,value值为 Bearer 加空格后带上token内容。

Brokers节点

基本信息

Path: /api/brokers

Method: GET

接口描述:

请求参数

返回数据

//示例
curl --location --request GET 'http://localhost:8081/api/brokers?current=1&pageSize=100' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJDUDciLCJleHAiOjE2MjgzMjI3NjgsImp0aSI6ImFkbWluIiwiaWF0IjoxNjI4MzE1NTY4LCJpc3MiOiJjb29scHkubmV0IiwibmJmIjoxNjI4MzE1NTY4fQ.r5cS1OIz8iJqrswAlo5-FStWNm9OP2LJchgVnVIhh9w' \
--data-raw ''

度量指标:Runtime运行统计

基本信息

Path: /api/runtime

Method: GET

接口描述:

请求参数

返回数据

//示例
curl --location --request GET 'http://localhost:8081/api/runtime?current=1&pageSize=100' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJDUDciLCJleHAiOjE2MjgzMjI3NjgsImp0aSI6ImFkbWluIiwiaWF0IjoxNjI4MzE1NTY4LCJpc3MiOiJjb29scHkubmV0IiwibmJmIjoxNjI4MzE1NTY4fQ.r5cS1OIz8iJqrswAlo5-FStWNm9OP2LJchgVnVIhh9w' \
--data-raw ''

度量指标:Config配置

基本信息

Path: /api/config

Method: GET

接口描述:

请求参数

返回数据

//示例
curl --location --request GET 'http://localhost:8081/api/config?current=1&pageSize=100' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJDUDciLCJleHAiOjE2MjgzMjI3NjgsImp0aSI6ImFkbWluIiwiaWF0IjoxNjI4MzE1NTY4LCJpc3MiOiJjb29scHkubmV0IiwibmJmIjoxNjI4MzE1NTY4fQ.r5cS1OIz8iJqrswAlo5-FStWNm9OP2LJchgVnVIhh9w' \
--data-raw ''

度量指标:System

基本信息

Path: /api/system

Method: GET

接口描述:

请求参数

返回数据

//示例
curl --location --request GET 'http://localhost:8081/api/system?current=1&pageSize=100' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJDUDciLCJleHAiOjE2MjgzMjI3NjgsImp0aSI6ImFkbWluIiwiaWF0IjoxNjI4MzE1NTY4LCJpc3MiOiJjb29scHkubmV0IiwibmJmIjoxNjI4MzE1NTY4fQ.r5cS1OIz8iJqrswAlo5-FStWNm9OP2LJchgVnVIhh9w' \
--data-raw ''

Clients客户端

基本信息

Path: /api/clients

Method: GET

接口描述:

请求参数

Query

Body

返回数据

curl --location --request GET 'http://localhost:8081/api/clients?current=1&pageSize=100' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJDUDciLCJleHAiOjE2MjgzMjI3NjgsImp0aSI6ImFkbWluIiwiaWF0IjoxNjI4MzE1NTY4LCJpc3MiOiJjb29scHkubmV0IiwibmJmIjoxNjI4MzE1NTY4fQ.r5cS1OIz8iJqrswAlo5-FStWNm9OP2LJchgVnVIhh9w' \
--data-raw ''

Topics主题

基本信息

Path: /api/topics

Method: GET

接口描述:

请求参数

Query

返回数据

curl --location --request GET 'http://localhost:8081/api/topics?current=1&pageSize=100' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJDUDciLCJleHAiOjE2MjgzMjI3NjgsImp0aSI6ImFkbWluIiwiaWF0IjoxNjI4MzE1NTY4LCJpc3MiOiJjb29scHkubmV0IiwibmJmIjoxNjI4MzE1NTY4fQ.r5cS1OIz8iJqrswAlo5-FStWNm9OP2LJchgVnVIhh9w' \
--data-raw ''

规则新增

基本信息

Path: /api/rules

Method: POST

接口描述:

请求参数

Headers

Body

返回数据

curl --location --request POST 'http://localhost:8081/api/rules' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJDUDciLCJleHAiOjE2MjgzMjI3NjgsImp0aSI6ImFkbWluIiwiaWF0IjoxNjI4MzE1NTY4LCJpc3MiOiJjb29scHkubmV0IiwibmJmIjoxNjI4MzE1NTY4fQ.r5cS1OIz8iJqrswAlo5-FStWNm9OP2LJchgVnVIhh9w' \
--header 'Content-Type: text/plain' \
--data-raw '{"ruleName":"rule2","rule":"//规则名称为rule2,规则备注,执行优先级\nrule \"rule2\" \"rule-describtion\" salience  1\nbegin\n  //过滤主题为aaa的消息才进行处理\n  if Message.Topic == \"aaa\" {\n    //反序列化消息中的载体\n    payload = Core.FromJson(Message.Payload)\n    //判断消息载体是否为空\n    if isNil(payload) {\n        println(\"parse error\")\n        return\n    }\n    //实例化一个map用于转换消息体格式\n    res = Core.MakeMap()\n    //把原消息的msg内容付值到新消息体的m键中\n    res[\"m\"] = payload[\"msg\"]\n    //序列化新的消息体为json\n    reMsg = Core.ToJson(res)\n    //传送序列化是否失败\n    if isNil(reMsg) {\n        println(\"format error\")\n        return\n    }\n    //打印序列化结果于服务端\n    println(Core.String(reMsg))\n    //实例化mqtt消息体\n    newMsg = Core.MakeMessage()\n    //设置新的接收主题\n    newMsg.Topic = \"bbb/#\"\n    //消息质量控制\n    newMsg.QOS = 0\n    newMsg.Retain = false\n    //把新的载体付值到新消息载体中\n    newMsg.Payload = reMsg\n    //通过内核发布新消息\n    err = Core.Publish(newMsg)\n    if err != \"\" {\n        println(err)\n    }\n  }\nend","method":"post"}'

规则修改

基本信息

Path: /api/rules

Method: PUT

接口描述:

请求参数

Headers

Body

返回数据

curl --location --request PUT 'http://localhost:8081/api/rules' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJDUDciLCJleHAiOjE2MjgzMjI3NjgsImp0aSI6ImFkbWluIiwiaWF0IjoxNjI4MzE1NTY4LCJpc3MiOiJjb29scHkubmV0IiwibmJmIjoxNjI4MzE1NTY4fQ.r5cS1OIz8iJqrswAlo5-FStWNm9OP2LJchgVnVIhh9w' \
--header 'Content-Type: text/plain' \
--data-raw '{"ruleName":"rule2","rule":"//规则名称为rule2,规则备注,执行优先级\nrule \"rule2\" \"rule-describtion\" salience  1\nbegin\n  //过滤主题为aaa的消息才进行处理\n  if Message.Topic == \"aaa\" {\n    //反序列化消息中的载体\n    payload = Core.FromJson(Message.Payload)\n    //判断消息载体是否为空\n    if isNil(payload) {\n        println(\"parse error\")\n        return\n    }\n    //实例化一个map用于转换消息体格式\n    res = Core.MakeMap()\n    //把原消息的msg内容付值到新消息体的m键中\n    res[\"m\"] = payload[\"msg\"]\n    //序列化新的消息体为json\n    reMsg = Core.ToJson(res)\n    //传送序列化是否失败\n    if isNil(reMsg) {\n        println(\"format error\")\n        return\n    }\n    //打印序列化结果于服务端\n    println(Core.String(reMsg))\n    //实例化mqtt消息体\n    newMsg = Core.MakeMessage()\n    //设置新的接收主题\n    newMsg.Topic = \"bbb/#\"\n    //消息质量控制\n    newMsg.QOS = 0\n    newMsg.Retain = false\n    //把新的载体付值到新消息载体中\n    newMsg.Payload = reMsg\n    //通过内核发布新消息\n    err = Core.Publish(newMsg)\n    if err != \"\" {\n        println(err)\n    }\n  }\nend","method":"post"}'

规则列表

基本信息

Path: /api/rules

Method: GET

接口描述:

请求参数

Query

返回数据

curl --location --request GET 'http://localhost:8081/api/rules?current=1&pageSize=100' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJDUDciLCJleHAiOjE2MjgzMjI3NjgsImp0aSI6ImFkbWluIiwiaWF0IjoxNjI4MzE1NTY4LCJpc3MiOiJjb29scHkubmV0IiwibmJmIjoxNjI4MzE1NTY4fQ.r5cS1OIz8iJqrswAlo5-FStWNm9OP2LJchgVnVIhh9w'

规则详情

基本信息

Path: /api/rule/:ruleid

Method: GET

接口描述:

请求参数

路径参数

返回数据

curl --location --request GET 'http://localhost:8081/api/rule/rule1' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJDUDciLCJleHAiOjE2MjgzMjI3NjgsImp0aSI6ImFkbWluIiwiaWF0IjoxNjI4MzE1NTY4LCJpc3MiOiJjb29scHkubmV0IiwibmJmIjoxNjI4MzE1NTY4fQ.r5cS1OIz8iJqrswAlo5-FStWNm9OP2LJchgVnVIhh9w'

规则删除单个或删除所有

基本信息

Path: /api/rules

Method: DELETE

接口描述:

请求参数

Headers

Body

返回数据

curl --location --request DELETE 'http://localhost:8081/api/rules' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJDUDciLCJleHAiOjE2MjgzMjI3NjgsImp0aSI6ImFkbWluIiwiaWF0IjoxNjI4MzE1NTY4LCJpc3MiOiJjb29scHkubmV0IiwibmJmIjoxNjI4MzE1NTY4fQ.r5cS1OIz8iJqrswAlo5-FStWNm9OP2LJchgVnVIhh9w' \
--header 'Content-Type: text/plain' \
--data-raw '{"ids":["rule2"]}'

Last updated