java/API.md
2026-06-15 10:25:06 +08:00

7.2 KiB

网盘系统 API 接口文档

网关入口

统一访问地址: http://localhost:8888

所有请求通过网关路由到对应微服务,前端无需关心后端服务拆分。


1. 用户认证服务 (wangpan-user-service:8081)

1.1 用户登录

  • 接口: POST /api/login
  • 请求体:
{
  "username": "用户名",
  "password": "密码"
}
  • 响应:
{
  "code": 200,
  "message": "登录成功",
  "data": {
    "success": true,
    "token": "访问令牌",
    "user": { "id": 1, "username": "xxx", ... }
  }
}

1.2 用户注册

  • 接口: POST /api/register
  • 请求体:
{
  "username": "用户名",
  "password": "密码"
}
  • 响应: 登录成功相同格式

1.3 令牌验证

  • 接口: GET /api/token/validate
  • 请求头: Authorization: Bearer <token>
  • 响应: 令牌是否有效

1.4 登录日志查询

  • 接口: GET /api/login-logs
  • 参数:
    • username (可选) - 按用户名筛选
    • result (可选) - 按登录结果筛选 (success/fail)
    • pageNo (默认 1) - 页码
    • pageSize (默认 20) - 每页条数
  • 请求头: Authorization: Bearer <token>

2. 网盘管理服务 (wangpan-drive-service:8082)

2.1 创建网盘

  • 接口: POST /api/drive
  • 请求体:
{
  "name": "网盘名称"
}
  • 请求头: Authorization: Bearer <token>

2.2 查询网盘列表

  • 接口: GET /api/drive
  • 参数:
    • pageNo (默认 1)
    • pageSize (默认 20)
  • 请求头: Authorization: Bearer <token>

2.3 查询网盘详情

  • 接口: GET /api/drive/{id}
  • 请求头: Authorization: Bearer <token>

2.4 更新网盘

  • 接口: PUT /api/drive/{id}
  • 请求体:
{
  "name": "新网盘名称"
}
  • 请求头: Authorization: Bearer <token>

2.5 删除网盘

  • 接口: DELETE /api/drive/{id}
  • 请求头: Authorization: Bearer <token>

2.6 创建文件夹

  • 接口: POST /api/drive/{driveId}/folders
  • 请求体:
{
  "name": "文件夹名称",
  "parentId": 0
}
  • 请求头: Authorization: Bearer <token>

2.7 查询文件夹列表

  • 接口: GET /api/drive/{driveId}/folders
  • 参数:
    • parentId (默认 0) - 父文件夹 ID
  • 请求头: Authorization: Bearer <token>

2.8 查询文件夹详情

  • 接口: GET /api/drive/{driveId}/folders/{folderId}
  • 请求头: Authorization: Bearer <token>

2.9 更新文件夹

  • 接口: PUT /api/drive/{driveId}/folders/{folderId}
  • 请求体:
{
  "name": "新文件夹名称"
}
  • 请求头: Authorization: Bearer <token>

2.10 删除文件夹

  • 接口: DELETE /api/drive/{driveId}/folders/{folderId}
  • 请求头: Authorization: Bearer <token>

2.11 创建电影文件

  • 接口: POST /api/drive/{driveId}/movies
  • 请求体:
{
  "title": "电影名称",
  "folderId": 0,
  "posterUrl": "海报URL",
  "overview": "简介",
  "releaseDate": "2024-01-01",
  "voteAverage": 8.5,
  "tmdbId": 12345,
  "category": "动作",
  "scrapeType": "auto"
}
  • 请求头: Authorization: Bearer <token>

2.12 查询电影文件列表

  • 接口: GET /api/drive/{driveId}/movies
  • 参数:
    • folderId (默认 0) - 文件夹 ID
  • 请求头: Authorization: Bearer <token>

2.13 查询电影文件详情

  • 接口: GET /api/drive/{driveId}/movies/{movieId}
  • 请求头: Authorization: Bearer <token>

2.14 更新电影文件

  • 接口: PUT /api/drive/{driveId}/movies/{movieId}
  • 请求体: 同创建
  • 请求头: Authorization: Bearer <token>

2.15 删除电影文件

  • 接口: DELETE /api/drive/{driveId}/movies/{movieId}
  • 请求头: Authorization: Bearer <token>

3. TMDB 刮削服务 (wangpan-tmdb-service:8083)

3.1 电影列表查询

  • 接口: GET /api/movies
  • 参数:
    • keyword (可选) - 搜索关键词
    • status (可选) - 状态 (pending/scraped/failed)
    • category (可选) - 分类
    • scrapeType (可选) - 刮削类型
    • pageNo (默认 1)
    • pageSize (默认 20)
  • 请求头: Authorization: Bearer <token>

3.2 电影详情查询

  • 接口: GET /api/movies/{id}
  • 请求头: Authorization: Bearer <token>

3.3 创建电影

  • 接口: POST /api/movies
  • 请求体:
{
  "title": "电影名称"
}
  • 请求头: Authorization: Bearer <token>

3.4 更新电影

  • 接口: PUT /api/movies/{id}
  • 请求体: 电影更新字段
  • 请求头: Authorization: Bearer <token>

3.5 删除电影

  • 接口: DELETE /api/movies/{id}
  • 请求头: Authorization: Bearer <token>

3.6 批量删除电影

  • 接口: POST /api/movies/batch-delete
  • 请求体:
{
  "ids": [1, 2, 3]
}
  • 请求头: Authorization: Bearer <token>

3.7 电影统计

  • 接口: GET /api/movies/stats
  • 请求头: Authorization: Bearer <token>

3.8 TMDB API Key 获取

  • 接口: GET /api/tmdb/key
  • 请求头: Authorization: Bearer <token>

3.9 TMDB API Key 设置

  • 接口: POST /api/tmdb/key
  • 请求体:
{
  "tmdbApiKey": "你的API Key"
}
  • 请求头: Authorization: Bearer <token>

3.10 单部电影刮削

  • 接口: POST /api/tmdb-scraper/scrape
  • 请求体:
{
  "movieId": 1
}
  • 请求头: Authorization: Bearer <token>

3.11 批量刮削

  • 接口: POST /api/tmdb-scraper/batch-scrape
  • 请求体:
{
  "movieIds": [1, 2, 3]
}
  • 请求头: Authorization: Bearer <token>

3.12 查询缓存列表

  • 接口: GET /api/tmdb-scraper/caches
  • 参数:
    • pageNo (默认 1)
    • pageSize (默认 20)
  • 请求头: Authorization: Bearer <token>

3.13 刮削统计

  • 接口: GET /api/tmdb-scraper/stats
  • 请求头: Authorization: Bearer <token>

3.14 手动触发定时任务

  • 接口: POST /api/tmdb-scraper/trigger
  • 请求头: Authorization: Bearer <token>

3.15 查询刮削日志

  • 接口: GET /api/tmdb-scraper/scraper-logs
  • 参数:
    • pageNo (默认 1)
    • pageSize (默认 20)
  • 请求头: Authorization: Bearer <token>

3.16 删除缓存

  • 接口: DELETE /api/tmdb-scraper/cache/{movieId}
  • 请求头: Authorization: Bearer <token>

通用响应格式

{
  "code": 200,
  "message": "操作结果描述",
  "data": { ... }
}

状态码说明

状态码 说明
200 成功
400 请求参数错误
401 未授权/令牌无效
403 权限不足
404 资源不存在
500 服务器内部错误

服务架构说明

前端 → Gateway(8888) → 路由转发 → 微服务
                              ├── user-service(8081)
                              ├── drive-service(8082)
                              └── tmdb-service(8083)

所有服务通过网关统一路由转发,各服务独立运行。