feat: 完善照片更新和删除业务逻辑
- 实现照片更新功能 (updatePhotoLogic.go) - 支持部分字段更新 (title, description, category_id) - 添加用户权限验证,只能更新自己的照片 - 添加分类存在性验证 - 完善错误处理和响应格式 - 实现照片删除功能 (deletePhotoLogic.go) - 添加用户权限验证,只能删除自己的照片 - 同时删除数据库记录和文件系统文件 - 安全的文件删除处理 - 更新Handler使用统一响应格式 - updatePhotoHandler.go: 使用response.Response统一处理 - deletePhotoHandler.go: 使用response.Response统一处理 - 添加完整API测试用例 (test_photo_crud.http) - 涵盖正常场景和错误场景测试 - 包含权限验证测试 - 更新项目进度 (TASK_PROGRESS.md) - 完成率从8%提升到12% - 更新API接口状态 - 记录技术成果和里程碑
This commit is contained in:
94
backend/test_photo_crud.http
Normal file
94
backend/test_photo_crud.http
Normal file
@ -0,0 +1,94 @@
|
||||
### 照片CRUD测试
|
||||
|
||||
### 1. 用户登录获取token
|
||||
POST http://localhost:8888/api/v1/auth/login
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"username": "admin",
|
||||
"password": "123456"
|
||||
}
|
||||
|
||||
### 设置变量
|
||||
@token = {{login.response.body.data.token}}
|
||||
|
||||
### 2. 获取照片列表
|
||||
GET http://localhost:8888/api/v1/photos?page=1&page_size=5
|
||||
Authorization: Bearer {{token}}
|
||||
|
||||
### 3. 上传照片 (可选,用于创建测试数据)
|
||||
POST http://localhost:8888/api/v1/photos
|
||||
Authorization: Bearer {{token}}
|
||||
Content-Type: multipart/form-data; boundary=boundary
|
||||
|
||||
--boundary
|
||||
Content-Disposition: form-data; name="title"
|
||||
|
||||
测试照片更新删除
|
||||
--boundary
|
||||
Content-Disposition: form-data; name="description"
|
||||
|
||||
这是一张用于测试更新和删除功能的照片
|
||||
--boundary
|
||||
Content-Disposition: form-data; name="category_id"
|
||||
|
||||
1
|
||||
--boundary
|
||||
Content-Disposition: form-data; name="file"; filename="test.jpg"
|
||||
Content-Type: image/jpeg
|
||||
|
||||
< ./test.jpg
|
||||
--boundary--
|
||||
|
||||
### 4. 获取单个照片详情
|
||||
GET http://localhost:8888/api/v1/photos/1
|
||||
Authorization: Bearer {{token}}
|
||||
|
||||
### 5. 更新照片信息
|
||||
PUT http://localhost:8888/api/v1/photos/1
|
||||
Authorization: Bearer {{token}}
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"title": "更新后的照片标题",
|
||||
"description": "更新后的照片描述信息",
|
||||
"category_id": 1
|
||||
}
|
||||
|
||||
### 6. 再次获取照片详情验证更新
|
||||
GET http://localhost:8888/api/v1/photos/1
|
||||
Authorization: Bearer {{token}}
|
||||
|
||||
### 7. 删除照片
|
||||
DELETE http://localhost:8888/api/v1/photos/1
|
||||
Authorization: Bearer {{token}}
|
||||
|
||||
### 8. 验证删除(应该返回404)
|
||||
GET http://localhost:8888/api/v1/photos/1
|
||||
Authorization: Bearer {{token}}
|
||||
|
||||
### 错误场景测试
|
||||
|
||||
### 9. 尝试更新不存在的照片
|
||||
PUT http://localhost:8888/api/v1/photos/999
|
||||
Authorization: Bearer {{token}}
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"title": "不存在的照片"
|
||||
}
|
||||
|
||||
### 10. 尝试删除不存在的照片
|
||||
DELETE http://localhost:8888/api/v1/photos/999
|
||||
Authorization: Bearer {{token}}
|
||||
|
||||
### 11. 无认证更新照片
|
||||
PUT http://localhost:8888/api/v1/photos/1
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"title": "无认证更新"
|
||||
}
|
||||
|
||||
### 12. 无认证删除照片
|
||||
DELETE http://localhost:8888/api/v1/photos/1
|
||||
Reference in New Issue
Block a user