Files
core_wing_web/docs/API接口说明-固件管理.md
2025-10-23 09:54:43 +08:00

253 lines
5.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 固件管理 API 接口文档
## 基本信息
- **Base URL**: `http://localhost:8080`
- **接口前缀**: `/firmware`
- **请求头**:
- `Accept-Language`: `zh_CN``en_US`(可选,默认中文)
## 统一响应格式
所有接口返回格式统一为:
```json
{
"code": 200,
"message": "操作成功",
"data": {},
"success": true
}
```
**字段说明:**
- `code`: 状态码200-成功500-失败)
- `message`: 提示消息(支持中英文国际化)
- `data`: 返回的数据
- `success`: 是否成功true/false
---
## 1. 根据ID查询固件
**接口描述:** 根据固件ID查询固件详细信息
**请求方式:** `GET`
**请求路径:** `/firmware/{id}`
**路径参数:**
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| id | Long | 是 | 固件ID |
**请求示例:**
```bash
curl -X GET "http://localhost:8080/firmware/1" \
-H "Accept-Language: zh_CN"
```
**成功响应示例:**
```json
{
"code": 200,
"message": "操作成功",
"data": {
"id": 1,
"firmwareName": "固件 v2.0.0",
"firmwareSize": 2097152,
"firmwareDescription": "新版本固件,优化性能",
"firmwareType": "主控固件",
"downloadUrl": "https://example.com/firmware/v2.0.0.bin",
"createTime": "2025-01-15 10:30:00",
"updateTime": "2025-01-15 10:30:00"
},
"success": true
}
```
**失败响应示例:**
```json
{
"code": 500,
"message": "固件不存在",
"data": null,
"success": false
}
```
---
## 2. 分页查询固件列表
**接口描述:** 分页查询固件列表,支持按固件名称和固件类型筛选
**请求方式:** `GET`
**请求路径:** `/firmware/page`
**请求参数Query**
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| current | Long | 否 | 1 | 当前页码 |
| size | Long | 否 | 10 | 每页大小 |
| firmwareName | String | 否 | - | 固件名称(模糊查询) |
| firmwareType | String | 否 | - | 固件类型(精确查询) |
**请求示例:**
```bash
# 查询第1页每页10条
curl -X GET "http://localhost:8080/firmware/page?current=1&size=10" \
-H "Accept-Language: zh_CN"
# 按固件名称模糊查询
curl -X GET "http://localhost:8080/firmware/page?current=1&size=10&firmwareName=v2"
# 按固件类型查询
curl -X GET "http://localhost:8080/firmware/page?current=1&size=10&firmwareType=主控固件"
# 组合查询
curl -X GET "http://localhost:8080/firmware/page?current=1&size=10&firmwareName=v2&firmwareType=主控固件"
```
**成功响应示例:**
```json
{
"code": 200,
"message": "操作成功",
"data": {
"records": [
{
"id": 1,
"firmwareName": "固件 v2.0.0",
"firmwareSize": 2097152,
"firmwareDescription": "新版本固件,优化性能",
"firmwareType": "主控固件",
"downloadUrl": "https://example.com/firmware/v2.0.0.bin",
"createTime": "2025-01-15 10:30:00",
"updateTime": "2025-01-15 10:30:00"
},
{
"id": 2,
"firmwareName": "固件 v1.0.1",
"firmwareSize": 1049600,
"firmwareDescription": "修复了若干 bug 的版本",
"firmwareType": "主控固件",
"downloadUrl": "https://example.com/firmware/v1.0.1.bin",
"createTime": "2025-01-14 09:20:00",
"updateTime": "2025-01-14 09:20:00"
}
],
"total": 2,
"size": 10,
"current": 1,
"pages": 1
},
"success": true
}
```
**响应字段说明:**
- `records`: 当前页的数据列表
- `total`: 总记录数
- `size`: 每页大小
- `current`: 当前页码
- `pages`: 总页数
---
## 3. 查询所有固件
**接口描述:** 查询所有固件列表(不分页)
**请求方式:** `GET`
**请求路径:** `/firmware/list`
**请求示例:**
```bash
curl -X GET "http://localhost:8080/firmware/list" \
-H "Accept-Language: zh_CN"
```
**成功响应示例:**
```json
{
"code": 200,
"message": "操作成功",
"data": [
{
"id": 1,
"firmwareName": "固件 v2.0.0",
"firmwareSize": 2097152,
"firmwareDescription": "新版本固件,优化性能",
"firmwareType": "主控固件",
"downloadUrl": "https://example.com/firmware/v2.0.0.bin",
"createTime": "2025-01-15 10:30:00",
"updateTime": "2025-01-15 10:30:00"
},
{
"id": 2,
"firmwareName": "固件 v1.0.1",
"firmwareSize": 1049600,
"firmwareDescription": "修复了若干 bug 的版本",
"firmwareType": "主控固件",
"downloadUrl": "https://example.com/firmware/v1.0.1.bin",
"createTime": "2025-01-14 09:20:00",
"updateTime": "2025-01-14 09:20:00"
}
],
"success": true
}
```
---
## 错误码说明
| 错误码 | 说明 |
|--------|------|
| 200 | 请求成功 |
| 500 | 服务器内部错误 |
---
## 国际化支持
接口支持中英文双语,通过请求头 `Accept-Language``lang` 指定语言:
- `zh_CN` - 中文(默认)
- `en_US` - 英文
**示例:**
```bash
# 中文响应
curl -X GET "http://localhost:8080/firmware/1" \
-H "Accept-Language: zh_CN"
# 英文响应
curl -X GET "http://localhost:8080/firmware/1" \
-H "Accept-Language: en_US"
```
---
## 注意事项
1. **文件大小单位**`firmwareSize` 字段的单位是字节Byte
2. **时间格式**`createTime``updateTime` 的格式为 `yyyy-MM-dd HH:mm:ss`
3. **分页默认排序**:分页查询默认按创建时间倒序排列(最新的在前面)
4. **模糊查询**:分页查询中的 `firmwareName` 参数支持模糊匹配
5. **类型查询**:分页查询中的 `firmwareType` 参数是精确匹配
6. **国际化**:通过 `Accept-Language` 请求头可切换中英文响应消息