# mydreamjob API v0.1 接口清单 > 版本: 0.1.0 | 更新日期: 2026-08-03 | 基础路径: `http://localhost:8080/api/v1` ## 认证模块 `/api/v1/auth` ### 1. 发送短信验证码(Mock) ``` POST /api/v1/auth/sms/send Query: phone=13800000001, purpose=login ``` **响应示例:** ```json { "code": 200, "message": "success", "data": { "message": "验证码已发送(Mock)" }, "requestId": "a1b2c3d4e5f6g7h8", "timestamp": "2026-08-03T10:00:00Z" } ``` **限制:** - 60秒内同一手机号只能发送1次 - 5次错误后锁定5分钟 - Mock环境验证码打印到日志 ### 2. Mock 登录 ``` POST /api/v1/auth/login Content-Type: application/json ``` **请求体:** ```json { "phone": "13800000001", "code": "123456", "purpose": "login" } ``` **响应示例:** ```json { "code": 201, "message": "created", "data": { "userId": 1, "phone": "13800000001", "nickname": "管理员", "role": "ADMIN", "accessToken": "eyJhbGc...", "refreshToken": "eyJhbGc...", "expiresIn": 86400 }, "requestId": "a1b2c3d4e5f6g7h8", "timestamp": "2026-08-03T10:00:00Z" } ``` ### 3. 当前用户信息 ``` GET /api/v1/auth/me Authorization: Bearer ``` **响应示例:** ```json { "code": 200, "message": "success", "data": { "id": 1, "phone": "13800000001", "email": "admin@mydreamjob.com", "nickname": "管理员", "role": "ADMIN", "active": true, "verified": true, "createdAt": "2026-08-03T10:00:00Z" }, "requestId": "a1b2c3d4e5f6g7h8", "timestamp": "2026-08-03T10:00:00Z" } ``` ## 系统模块 `/api/v1` ### 4. 健康检查 ``` GET /api/v1/health ``` **响应示例:** ```json { "code": 200, "message": "success", "data": { "status": "UP", "components": { "db": { "status": "UP", "detail": { "database": "MySQL" } }, "redis": { "status": "UP" }, "diskSpace": { "status": "UP" }, "rabbitmq": { "status": "UP" } } }, "requestId": "a1b2c3d4e5f6g7h8", "timestamp": "2026-08-03T10:00:00Z" } ``` ### 5. 应用信息 ``` GET /api/v1/info ``` **响应示例:** ```json { "code": 200, "message": "success", "data": { "application": "mydreamjob-server", "version": "0.0.1-SNAPSHOT", "javaVersion": "17.0.18", "uptimeSeconds": 120, "springProfile": "dev" }, "requestId": "a1b2c3d4e5f6g7h8", "timestamp": "2026-08-03T10:00:00Z" } ``` ### 6. 详细健康检查 ``` GET /api/v1/health/details ``` 返回 Actuator 健康端点的完整信息,包括各依赖服务状态。 ## 错误码说明 | 错误码 | 含义 | 场景 | |--------|------|------| | 1000 | success | 成功 | | 1001 | bad request | 请求参数错误 | | 1002 | internal server error | 服务器内部错误 | | 2001 | unauthorized | 未认证 | | 2002 | forbidden | 无权限 | | 2003 | token expired | Token 已过期 | | 2004 | token invalid | Token 无效 | | 2005 | invalid credentials | 凭证错误 | | 3001 | sms code sent | 验证码已发送 | | 3002 | sms code expired | 验证码已过期 | | 3003 | sms code invalid | 验证码错误 | | 3004 | sms code attempts exceeded | 验证码尝试次数超限 | | 3005 | sms rate limited | 短信发送频率限制 | | 4001 | user not found | 用户不存在 | | 4002 | user already exists | 用户已存在 | | 9002 | rate limited | 系统限流 | ## Swagger/OpenAPI 文档 ``` http://localhost:8080/swagger-ui.html http://localhost:8080/v3/api-docs ``` ## 已知限制 (Week 1) 1. 短信验证码为 Mock 实现,验证码打印到日志,不发送真实短信 2. 无企业注册/认证流程 3. 无岗位、投递、聊天、评分等业务功能 4. 无 Token 刷新接口(Week 2+) 5. 无密码修改/重置功能 6. RabbitMQ 未实现消息监听器(仅队列定义) 7. Actuator 健康检查部分依赖(Redis/RabbitMQ)在未启动时返回 DOWN