3.4 KiB
3.4 KiB
API 快速测试指南
本文档包含最新调整的 API 接口的 curl 测试命令。
前置准备
# 1. 登录获取 JWT Token
TOKEN=$(curl -s -X POST http://localhost:8080/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"mobile":"13800138000","password":"password123"}' \
| jq -r '.data.access_token')
echo "Token: $TOKEN"
新增/变更的接口
1. 获取用户完整信息(Login 格式)
curl -X GET http://localhost:8080/api/v1/auth/user \
-H "Authorization: Bearer $TOKEN"
2. OSS 单个文件预签名 URL(已调整)
# 获取头像预签名 URL
curl -X GET "http://localhost:8080/api/v1/assets/oss/presigned-url?type=avatar&file_name=test.jpg&expires=3600" \
-H "Authorization: Bearer $TOKEN"
# 获取资产预签名 URL
curl -X GET "http://localhost:8080/api/v1/assets/oss/presigned-url?type=asset&file_name=cover.png&expires=3600" \
-H "Authorization: Bearer $TOKEN"
3. OSS 批量获取预签名 URL(已调整)
# 批量获取头像图片
curl -X GET "http://localhost:8080/api/v1/assets/oss/batch-presigned-urls?type=avatar&expires=3600&max_keys=50" \
-H "Authorization: Bearer $TOKEN"
# 批量获取资产图片
curl -X GET "http://localhost:8080/api/v1/assets/oss/batch-presigned-urls?type=asset&expires=3600&max_keys=50" \
-H "Authorization: Bearer $TOKEN"
参数说明
OSS 预签名接口参数变更
旧接口(已废弃):
- 需要传入完整的 OSS URL:
file_url=https://bucket.oss-region.aliyuncs.com/path/file.jpg
新接口:
- 单个文件:
type=avatar|asset+file_name=文件名 - 批量文件:
type=avatar|asset - 自动从 JWT Token 中获取
user_id和star_id - 文件路径自动构建为:
{type}/{user_id}/{star_id}/{file_name}
Auth 接口说明
两个用户信息接口的区别:
| 接口 | 路径 | 返回格式 | 用途 |
|---|---|---|---|
| GetCurrentUser | /api/v1/auth/me |
GetMeResponseDTO | 获取基本用户信息 |
| GetAuthMe | /api/v1/auth/user |
LoginResponseDTO | 获取完整用户信息(同登录接口) |
完整测试流程
#!/bin/bash
# 1. 登录
echo "=== 1. 登录 ==="
TOKEN=$(curl -s -X POST http://localhost:8080/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"mobile":"13800138000","password":"password123"}' \
| jq -r '.data.access_token')
echo "Token: ${TOKEN:0:20}..."
# 2. 获取用户完整信息
echo -e "\n=== 2. 获取用户完整信息 ==="
curl -s -X GET http://localhost:8080/api/v1/auth/user \
-H "Authorization: Bearer $TOKEN" | jq '.'
# 3. 获取单个文件预签名 URL
echo -e "\n=== 3. 获取头像预签名 URL ==="
curl -s -X GET "http://localhost:8080/api/v1/assets/oss/presigned-url?type=avatar&file_name=test.jpg&expires=3600" \
-H "Authorization: Bearer $TOKEN" | jq '.data.url'
# 4. 批量获取预签名 URL
echo -e "\n=== 4. 批量获取头像图片 ==="
curl -s -X GET "http://localhost:8080/api/v1/assets/oss/batch-presigned-urls?type=avatar&expires=3600&max_keys=10" \
-H "Authorization: Bearer $TOKEN" | jq '.data.count'
echo -e "\n=== 测试完成 ==="
主要变更总结
- 安全性增强:OSS 路径不再由前端传入,自动从 JWT 提取用户信息构建,防止越权访问
- 简化调用:前端无需拼接完整 OSS URL,只需传入
type和file_name - 新增接口:
GET /api/v1/auth/user返回与登录接口相同格式的完整用户信息