7.6 KiB
7.6 KiB
IOT Labview 数据库配置 API 接口文档
基本信息
- 基础路径:
/iot/labview - 接口总数: 12个
- 认证方式: 无需认证
- 数据格式: JSON
文档中实际场景应用
- localhost:实际服务器ip地址
- 端口号:实际服务器后端端口地址
接口列表
| 序号 | 接口地址 | 请求方式 | 功能说明 |
|---|---|---|---|
| 1 | /iot/labview/list |
GET | 查询配置列表 |
| 2 | /iot/labview/{id} |
GET | 查询配置详情 |
| 3 | /iot/labview |
POST | 新增配置 |
| 4 | /iot/labview |
PUT | 修改配置 |
| 5 | /iot/labview/{ids} |
DELETE | 删除配置(支持批量) |
| 6 | /iot/labview/device/{iotDeviceId} |
GET | 根据设备ID查询配置 |
| 7 | /iot/labview/targetTable/{id} |
GET | 获取目标表配置(JSON) |
| 8 | /iot/labview/testConnection |
POST | 测试数据库连接 |
| 9 | /iot/labview/deviceIds |
GET | 获取所有设备ID列表 |
| 10 | /iot/labview/deviceIds/tenant |
GET | 根据租户查询设备ID列表 |
| 11 | /iot/labview/tenant/device |
POST | 根据租户和设备ID查询配置 |
| 12 | /iot/labview/export |
POST | 导出Excel |
接口测试(Apifox)
1. 查询配置列表(分页)
- 方法: GET
- URL:
http://localhost:8080/iot/labview/list - Query参数:
pageNum: 1pageSize: 10iotDeviceId: 1001 (可选)iotDbIp: 192.168 (可选,模糊查询)iotDbName: test (可选,模糊查询)
2. 查询配置详情
- 方法: GET
- URL:
http://localhost:8080/iot/labview/1
3. 新增配置
- 方法: POST
- URL:
http://localhost:8080/iot/labview - Headers:
Content-Type: application/json - Body (JSON):
{
"iotDeviceId": 1004,
"iotDbIp": "192.168.1.103",
"iotDbPort": 3306,
"iotDbName": "test_db",
"Object": "root",
"Class": "123456",
"iotTargetTable": "{\"temperature\":\"ymes_iiot_temperature\"}",
"iotRemark": "测试配置",
"tenantId": 1
}
4. 修改配置
- 方法: PUT
- URL:
http://localhost:8080/iot/labview - Headers:
Content-Type: application/json - Body (JSON):
{
"id": 1,
"iotDeviceId": 1001,
"iotDbIp": "192.168.1.100",
"iotDbPort": 3306,
"iotDbName": "test_db_new",
"Object": "root",
"Class": "123456",
"iotTargetTable": "{\"temperature\":\"ymes_iiot_temperature\"}",
"tenantId": 1
}
5. 删除配置(支持批量)
- 方法: DELETE
- URL:
http://localhost:8080/iot/labview/1(删除单个) - URL:
http://localhost:8080/iot/labview/1,2,3(批量删除)
6. 根据设备ID查询配置
- 方法: GET
- URL:
http://localhost:8080/iot/labview/device/1001
7. 获取目标表配置(JSON格式)
- 方法: GET
- URL:
http://localhost:8080/iot/labview/targetTable/1
返回示例:
{
"code": 200,
"msg": "操作成功",
"data": {
"temperature": "ymes_iiot_temperature",
"humidity": "ymes_iiot_humidity"
}
}
8. 测试数据库连接
- 方法: POST
- URL:
http://localhost:8080/iot/labview/testConnection - Headers:
Content-Type: application/json - Body (JSON):
{
"iotDbIp": "192.168.1.100",
"iotDbPort": 3306,
"iotDbName": "test_db",
"iotDbUser": "root",
"iotDbPass": "123456"
}
9. 获取所有设备ID列表
- 方法: GET
- URL:
http://localhost:8080/iot/labview/deviceIds
返回示例:
{
"code": 200,
"msg": "操作成功",
"data": [1001, 1002, 1003, 1004]
}
说明:
- 返回所有已配置的设备ID
- 自动去重和排序
- 数组类型,便于LabVIEW处理
10. 根据租户查询设备ID列表
- 方法: GET
- URL:
http://localhost:8080/iot/labview/deviceIds/tenant
Query参数:
tenantId(可选): 租户ID,精确匹配tenantName(可选): 租户名称,模糊查询- 注意: 至少提供一个参数
使用示例:
示例1 - 通过租户ID查询:
http://localhost:8080/iot/labview/deviceIds/tenant?tenantId=1
示例2 - 通过租户名称查询:
http://localhost:8080/iot/labview/deviceIds/tenant?tenantName=测试租户
示例3 - 同时使用两个条件(AND关系):
http://localhost:8080/iot/labview/deviceIds/tenant?tenantId=1&tenantName=测试
返回示例:
{
"code": 200,
"msg": "操作成功",
"data": [1001, 1002, 1003]
}
错误示例(未提供参数):
{
"code": 500,
"msg": "请提供租户ID或租户名称"
}
说明:
- 支持按租户ID精确查询
- 支持按租户名称模糊查询(包含匹配)
- 两个参数可以同时使用(AND关系)
- 返回该租户下的所有设备ID(去重、排序)
11. 根据租户和设备ID查询配置
- 方法: POST
- URL:
http://localhost:8080/iot/labview/tenant/device
请求体参数 (JSON):
tenantId(必填): 租户IDiotDeviceId(必填): 设备ID
使用示例:
查询租户1的设备1001配置:
POST http://localhost:8080/iot/labview/tenant/device
请求体:
{
"tenantId": 1,
"iotDeviceId": 1001
}
返回示例(成功):
{
"code": 200,
"msg": "操作成功",
"data": {
"id": 1,
"iotDeviceId": 1001,
"iotDbIp": "192.168.1.100",
"iotDbPort": 3306,
"iotDbName": "mes_db",
"Object": "root",
"Class": "123456",
"iotTargetTable": "{\"data\":\"ymes_iiot_data\",\"config\":\"ymes_iiot_config\"}",
"iotRemark": "测试设备",
"tenantId": 1,
"tenantName": "测试租户A",
"createBy": "admin",
"createTime": "2025-10-14 10:00:00",
"updateBy": null,
"updateTime": "2025-10-14 10:00:00"
}
}
返回示例(未找到):
{
"code": 500,
"msg": "未找到该租户下的设备配置"
}
返回示例(参数缺失):
{
"code": 500,
"msg": "租户ID和设备ID不能为空"
}
说明:
- 使用JSON格式的请求体传递参数
- 通过租户ID和设备ID精确查询
- 返回完整的配置对象
- 用于多租户环境下的设备配置隔离
- LabVIEW可通过此接口获取特定租户的设备数据库配置
LabVIEW调用示例:
LabVIEW HTTP POST请求:
URL: http://your-server:8080/mes/iot/labview/tenant/device
Content-Type: application/json
请求体:
{
"tenantId": 1,
"iotDeviceId": 1001
}
12. 导出Excel
- 方法: POST
- URL:
http://localhost:8080/iot/labview/export - Query参数 (可选):
iotDbIp,iotDeviceId,iotDbName - 说明: 点击 Send and Download 下载Excel文件
数据字段说明
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | Long | - | 主键ID |
| iotDeviceId | Long | ✓ | 设备ID(唯一) |
| iotDbIp | String | ✓ | 数据库IP |
| iotDbPort | Integer | ✓ | 端口(默认3306) |
| iotDbName | String | ✓ | 数据库名 |
| iotDbUser | String | ✓ | 账号 |
| iotDbPass | String | ✓ | 密码 |
| iotTargetTable | String | ✓ | 目标表(JSON字符串) |
| iotRemark | String | - | 备注 |
| tenantId | Long | ✓ | 租户ID |
文档版本: v1.6
更新时间: 2025-10-14
更新内容:
- v1.1: 新增获取所有设备ID列表接口
- v1.2: 新增根据租户查询设备ID列表接口
- v1.3: 新增根据租户ID和设备ID查询配置接口
- v1.4: 将根据租户和设备ID查询配置接口改为POST方法
- v1.5: 将租户和设备ID查询接口的参数从路径参数改为请求体JSON格式
- v1.6: 修改JSON返回字段名:
iotDbUser改为Object,iotDbPass改为Class;移除params和searchValue字段