UserController 接口测试文档
1. 用户注册接口
接口信息
- 请求路径:
/api/users/register
- 请求方法:POST
- 请求体类型:application/json
请求参数
{
"nickname": "用户昵称",
"accountName": "账号名",
"password": "密码"
}
测试用例
成功场景
- 正常注册
- 请求参数:
json { "nickname": "测试用户", "accountName": "test123", "password": "password123" }
- 预期响应:
json { "code": 200, "message": "注册成功", "data": { "id": 1, "nickname": "测试用户", "accountName": "test123" } }
失败场景
- 账号名已存在
- 请求参数:
json { "nickname": "测试用户", "accountName": "existing_user", "password": "password123" }
- 预期响应:
json { "code": 400, "message": "账号名已存在" }
- 账号名格式错误
- 请求参数:
json { "nickname": "测试用户", "accountName": "ab", // 少于4位 "password": "password123" }
- 预期响应:
json { "code": 400, "message": "账号名必须是4-16位字母、数字或下划线" }
- 密码格式错误
- 请求参数:
json { "nickname": "测试用户", "accountName": "test123", "password": "123" // 少于6位 }
- 预期响应:
json { "code": 400, "message": "密码必须是6-16位字母、数字或下划线" }
- 必填字段为空
- 请求参数:
json { "nickname": "", "accountName": "", "password": "" }
- 预期响应:
json { "code": 400, "message": "用户名不能为空" }
2. 用户登录接口
接口信息
- 请求路径:
/api/users/login
- 请求方法:POST
- 请求体类型:application/json
请求参数
{
"accountName": "账号名",
"password": "密码"
}
测试用例
成功场景
- 正常登录
- 请求参数:
json { "accountName": "test123", "password": "password123" }
- 预期响应:
json { "code": 200, "message": "登录成功", "data": "eyJhbGciOiJIUzI1NiJ9..." // JWT token }
失败场景
- 账号不存在
- 请求参数:
json { "accountName": "nonexistent", "password": "password123" }
- 预期响应:
json { "code": 400, "message": "账号不存在" }
- 密码错误
- 请求参数:
json { "accountName": "test123", "password": "wrong_password" }
- 预期响应:
json { "code": 400, "message": "密码错误" }
- 必填字段为空
- 请求参数:
json { "accountName": "", "password": "" }
- 预期响应:
json { "code": 400, "message": "账号名不能为空" }
3. 获取用户信息接口
接口信息
- 请求路径:
/api/users/info
- 请求方法:GET
- 请求头:需要携带 token
测试用例
成功场景
- 正常获取用户信息
- 请求头:
token: eyJhbGciOiJIUzI1NiJ9...
- 预期响应:
json { "code": 200, "data": { "id": 1, "nickname": "测试用户", "accountName": "test123" } }
失败场景
- 未携带 token
- 请求头:无 token
- 预期响应:
json { "code": 401, "message": "未登录或token无效" }
- token 无效
- 请求头:
token: invalid_token
- 预期响应:
json { "code": 401, "message": "token无效或已过期" }
- token 已过期
- 请求头:
token: expired_token
- 预期响应:
json { "code": 401, "message": "token无效或已过期" }
- 用户不存在
- 请求头:
token: valid_token_for_nonexistent_user
- 预期响应:
json { "code": 400, "message": "用户不存在" }
测试工具建议
- Postman
- Swagger UI
- JMeter(用于性能测试)
注意事项
- 所有接口都支持跨域请求
- 注册和登录接口使用
@Valid
注解进行参数验证
- 用户信息接口需要有效的 JWT token
- 密码在传输过程中应该使用 HTTPS 加密
- 建议在测试环境中使用测试数据库
- 测试时注意清理测试数据,避免影响其他测试用例