# 固件管理 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` 请求头可切换中英文响应消息