- 完成REQ-010-17(性能优化和限流处理)的所有6个阶段 - 创建ADR文档:0026-performance-optimization.md - 创建Prompt文档:027-performance-optimization.md - 创建会话记录:20260119-performance-optimization.md - 创建变更记录:20260119-performance-optimization.md - 创建复盘报告:20260119-performance-optimization-retro.md - 更新index.md和CHANGELOG.md - 完成REQ-010-2(基础实体类和Mapper创建)的前3个阶段 - 更新ADR文档:0011-entity-mapper-create.md - 创建Prompt文档:002-entity-mapper-create.md - 更新index.md 所有文档均按照SSOT方法论创建,包括需求定义、架构决策、提示词资产化、执行会话、变更记录和闭环复盘。
3.0 KiB
3.0 KiB
新增文件
接口信息
- 接口名称: 新增文件
- 接口路径: /file/info
- 请求方法: POST
- 模块归属: file
- 版本号: v1.0.0
- 创建日期: 2026-01-18
- 最后更新: 2026-01-18
功能描述
新增文件记录到数据库。通常在文件上传成功后自动调用,也可以手动创建文件记录。
请求参数
请求体 (JSON)
{
"fileName": "test.jpg",
"filePath": "/upload/2026/01/18/1234567890_test.jpg",
"storageType": "minio",
"fileType": "jpg",
"fileSize": 102400,
"md5": "d41d8cd98f00b204e9800998ecf8427e"
}
| 参数名 | 类型 | 必填 | 描述 | 示例 |
|---|---|---|---|---|
| fileName | String | 是 | 原始文件名 | test.jpg |
| filePath | String | 是 | 统一逻辑路径(/开头) | /upload/2026/01/18/1234567890_test.jpg |
| storageType | String | 是 | 存储类型(local/minio/oss) | minio |
| fileType | String | 否 | 文件类型/后缀 | jpg |
| fileSize | Long | 否 | 文件大小(字节) | 102400 |
| md5 | String | 否 | 文件MD5 | d41d8cd98f00b204e9800998ecf8427e |
响应数据
成功响应
HTTP 状态码: 200 OK
{
"code": 200,
"msg": "操作成功",
"data": 1
}
| 字段名 | 类型 | 描述 | 示例 |
|---|---|---|---|
| data | Integer | 影响的行数 | 1 |
失败响应
HTTP 状态码: 401 Unauthorized
{
"code": 401,
"msg": "没有权限访问",
"data": null
}
HTTP 状态码: 500 Internal Server Error
{
"code": 500,
"msg": "新增文件失败",
"data": null
}
接口示例
请求示例
curl -X POST "http://localhost:8080/file/info" \
-H "Authorization: Bearer [token]" \
-H "Content-Type: application/json" \
-d '{
"fileName": "test.jpg",
"filePath": "/upload/2026/01/18/1234567890_test.jpg",
"storageType": "minio",
"fileType": "jpg",
"fileSize": 102400,
"md5": "d41d8cd98f00b204e9800998ecf8427e"
}'
响应示例
成功:
{
"code": 200,
"msg": "操作成功",
"data": 1
}
错误处理
- 没有权限访问时返回 401 错误
- 参数错误时返回 400 错误
- 数据库操作失败时返回 500 错误
注意事项
- 需要权限:system:file:add
- 使用
@Log注解记录操作日志 - fileName、filePath、storageType 为必填字段
- filePath 必须以 / 开头
- storageType 必须是有效的存储类型(local/minio/oss)
- 创建人和创建时间会自动设置
相关接口
实现细节
- 使用
ISysFileInfoService.insertSysFileInfo()插入文件记录 - 使用
@Log注解记录操作日志,业务类型为 INSERT - 使用
@PreAuthorize注解进行权限控制 - 继承
BaseController获取基础功能 - 使用
toAjax()方法封装响应