logo
0
0
WeChat Login
wwyz<gjq@code1024.net>
docs: 新增README.md并清理项目

Document API

文档管理系统的后端API服务,提供文档上传、下载、预览、管理等核心功能。

🚀 主要功能

  • 文档管理: 文档上传、下载、删除、重命名等操作
  • 空间管理: 知识空间的创建、管理、权限控制
  • 文件预览: 支持多种格式文件的在线预览
  • 任务管理: 文档处理任务的创建和状态管理
  • 用户权限: 基于角色的访问控制
  • 文件存储: 集成MinIO对象存储

📁 项目结构

document-api/ ├── src/main/java/cn/l8ai/knowledge/ │ ├── common/ # 公共组件 │ │ ├── config/ # 配置类 │ │ ├── exception/ # 异常处理 │ │ └── utils/ # 工具类 │ ├── document/ # 文档模块 │ │ ├── controller/ # 文档控制器 │ │ ├── service/ # 文档服务 │ │ └── entity/ # 文档实体 │ ├── space/ # 空间模块 │ │ ├── controller/ # 空间控制器 │ │ ├── service/ # 空间服务 │ │ └── entity/ # 空间实体 │ ├── task/ # 任务模块 │ │ ├── controller/ # 任务控制器 │ │ ├── service/ # 任务服务 │ │ └── entity/ # 任务实体 │ └── user/ # 用户模块 ├── src/main/resources/ │ ├── application.yml # 配置文件 │ └── mapper/ # MyBatis映射文件 ├── docs/ # 文档目录 ├── build.sh # 构建脚本 ├── start.sh # 启动脚本 └── Dockerfile # Docker构建文件

🚀 快速开始

环境要求

  • JDK 17+
  • Maven 3.6+
  • MySQL 8.0+
  • MinIO 对象存储
  • Redis (可选,用于缓存)

安装依赖

mvn clean install

配置文件

修改 src/main/resources/application.yml 中的配置:

  • 数据库连接信息
  • MinIO存储配置
  • Redis配置(如果使用)
  • 文件存储路径

启动服务

# 方式1: Maven启动 mvn spring-boot:run # 方式2: 脚本启动 ./start.sh # 方式3: Docker启动 docker build -t document-api . docker run -p 8080:8080 document-api

🔧 主要配置

application.yml 配置项

server: port: 8080 spring: datasource: url: jdbc:mysql://localhost:3306/zheyin username: root password: your_password # MinIO配置 minio: endpoint: http://localhost:9000 access-key: minioadmin secret-key: minioadmin bucket-name: documents # 文件上传配置 file: upload-path: /upload max-size: 100MB

📚 API文档

服务启动后可访问Swagger文档:

🔑 主要接口

文档管理

  • POST /document/upload - 文档上传
  • GET /document/{id} - 获取文档信息
  • GET /document/{id}/download - 文档下载
  • DELETE /document/{id} - 删除文档
  • PUT /document/{id} - 更新文档信息

空间管理

  • GET /space/list - 获取空间列表
  • POST /space - 创建空间
  • GET /space/{id}/files - 获取空间文件列表
  • POST /space/{id}/upload - 空间文件上传

任务管理

  • POST /task/create - 创建任务
  • GET /task/{id} - 获取任务状态
  • GET /task/list - 获取任务列表

🐳 Docker部署

# 构建镜像 docker build -t document-api . # 运行容器 docker run -d \ --name document-api \ -p 8080:8080 \ -v /upload:/upload \ document-api

📝 开发说明

  • 基于Spring Boot 2.7+
  • 使用MyBatis-Plus进行数据访问
  • 集成Swagger3进行API文档生成
  • 支持文件上传下载
  • 集成MinIO对象存储
  • 支持多种文件格式预览

🔗 相关服务

  • 前端服务: document-web (端口: 80/443)
  • AI调度服务: ai-scheduler-api (端口: 8081)
  • 搜索服务: 外部搜索API (端口: 9944)