文档管理系统的后端API服务,提供文档上传、下载、预览、管理等核心功能。
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构建文件
mvn clean install
修改 src/main/resources/application.yml 中的配置:
# 方式1: Maven启动
mvn spring-boot:run
# 方式2: 脚本启动
./start.sh
# 方式3: Docker启动
docker build -t document-api .
docker run -p 8080:8080 document-api
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
服务启动后可访问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 build -t document-api .
# 运行容器
docker run -d \
--name document-api \
-p 8080:8080 \
-v /upload:/upload \
document-api