forked from datawhale/whale-town-end
fix:修复注册逻辑和HTTP状态码问题
核心修复: - 调整注册流程检查顺序,先验证用户存在性再验证验证码 - 修复HTTP状态码问题,业务失败时返回正确的错误状态码 - 优化错误处理逻辑,提供更准确的错误信息 主要变更: - 登录核心服务:重构注册方法,优化检查顺序避免验证码无效消费 - 用户服务:分离用户创建和重复检查逻辑,提高代码复用性 - 登录控制器:修复HTTP状态码处理,根据业务结果返回正确状态码 - API文档:更新注册接口说明和错误响应示例 - 测试脚本:优化测试逻辑和注释说明 修复效果: - 用户已存在时立即返回正确错误信息,不消费验证码 - API响应状态码准确反映业务执行结果 - 错误信息更加用户友好和准确 - 验证码使用更加合理和高效 测试验证: - 所有核心功能测试通过 - 注册逻辑修复验证成功 - HTTP状态码修复验证成功 - 限流功能正常工作
This commit is contained in:
@@ -164,7 +164,12 @@
|
||||
|
||||
**重要说明**:
|
||||
- 如果提供邮箱,必须先调用发送验证码接口获取验证码
|
||||
- 验证码验证失败会返回400状态码,而不是201
|
||||
- 注册时会按以下顺序进行检查:
|
||||
1. 首先检查用户名是否已存在
|
||||
2. 检查邮箱是否已存在(如果提供)
|
||||
3. 检查手机号是否已存在(如果提供)
|
||||
4. 最后验证邮箱验证码(如果提供邮箱)
|
||||
- 这样确保验证码不会因为用户已存在而被无效消费
|
||||
- 注册成功返回201,失败返回400
|
||||
|
||||
#### 请求参数
|
||||
@@ -214,6 +219,35 @@
|
||||
```
|
||||
|
||||
**失败响应** (400):
|
||||
|
||||
**用户名已存在**:
|
||||
```json
|
||||
{
|
||||
"success": false,
|
||||
"message": "用户名已存在",
|
||||
"error_code": "REGISTER_FAILED"
|
||||
}
|
||||
```
|
||||
|
||||
**邮箱已存在**:
|
||||
```json
|
||||
{
|
||||
"success": false,
|
||||
"message": "邮箱已存在",
|
||||
"error_code": "REGISTER_FAILED"
|
||||
}
|
||||
```
|
||||
|
||||
**手机号已存在**:
|
||||
```json
|
||||
{
|
||||
"success": false,
|
||||
"message": "手机号已存在",
|
||||
"error_code": "REGISTER_FAILED"
|
||||
}
|
||||
```
|
||||
|
||||
**邮箱验证码相关错误**:
|
||||
```json
|
||||
{
|
||||
"success": false,
|
||||
|
||||
Reference in New Issue
Block a user