轻松聘AI开发
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.
 
 
 

4.0 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 环境验证码不输出到日志;本地按 docs/frontend-integration.md §3 的受控方式取得(生产禁止查表)

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)

  1. 短信验证码为 Mock 实现,应用日志不输出验证码,不发送真实短信;未接入真实供应商时发码返回“服务不可用”
  2. 无企业注册/认证流程
  3. 无岗位、投递、聊天、评分等业务功能
  4. 无 Token 刷新接口(Week 2+)
  5. 无密码修改/重置功能
  6. RabbitMQ 未实现消息监听器(仅队列定义)
  7. Actuator 健康检查部分依赖(Redis/RabbitMQ)在未启动时返回 DOWN