forked from baskbuddy/zhangshun
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.8 KiB
3.8 KiB
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
响应示例:
{
"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
请求体:
{
"phone": "13800000001",
"code": "123456",
"purpose": "login"
}
响应示例:
{
"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 <accessToken>
响应示例:
{
"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
响应示例:
{
"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
响应示例:
{
"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)
- 短信验证码为 Mock 实现,验证码打印到日志,不发送真实短信
- 无企业注册/认证流程
- 无岗位、投递、聊天、评分等业务功能
- 无 Token 刷新接口(Week 2+)
- 无密码修改/重置功能
- RabbitMQ 未实现消息监听器(仅队列定义)
- Actuator 健康检查部分依赖(Redis/RabbitMQ)在未启动时返回 DOWN