350 lines
7.6 KiB
Markdown
350 lines
7.6 KiB
Markdown
|
|
# 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`: 1
|
|||
|
|
- `pageSize`: 10
|
|||
|
|
- `iotDeviceId`: 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)**:
|
|||
|
|
```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)**:
|
|||
|
|
```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`
|
|||
|
|
|
|||
|
|
**返回示例**:
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"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)**:
|
|||
|
|
```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`
|
|||
|
|
|
|||
|
|
**返回示例**:
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"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=测试
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**返回示例**:
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "操作成功",
|
|||
|
|
"data": [1001, 1002, 1003]
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**错误示例**(未提供参数):
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 500,
|
|||
|
|
"msg": "请提供租户ID或租户名称"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**说明**:
|
|||
|
|
- 支持按租户ID精确查询
|
|||
|
|
- 支持按租户名称模糊查询(包含匹配)
|
|||
|
|
- 两个参数可以同时使用(AND关系)
|
|||
|
|
- 返回该租户下的所有设备ID(去重、排序)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 11. 根据租户和设备ID查询配置
|
|||
|
|
|
|||
|
|
- **方法**: POST
|
|||
|
|
- **URL**: `http://localhost:8080/iot/labview/tenant/device`
|
|||
|
|
|
|||
|
|
**请求体参数** (JSON):
|
|||
|
|
- `tenantId` (必填): 租户ID
|
|||
|
|
- `iotDeviceId` (必填): 设备ID
|
|||
|
|
|
|||
|
|
**使用示例**:
|
|||
|
|
|
|||
|
|
**查询租户1的设备1001配置**:
|
|||
|
|
```json
|
|||
|
|
POST http://localhost:8080/iot/labview/tenant/device
|
|||
|
|
|
|||
|
|
请求体:
|
|||
|
|
{
|
|||
|
|
"tenantId": 1,
|
|||
|
|
"iotDeviceId": 1001
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**返回示例(成功)**:
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"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"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**返回示例(未找到)**:
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 500,
|
|||
|
|
"msg": "未找到该租户下的设备配置"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**返回示例(参数缺失)**:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"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`字段
|