101 lines
2.5 KiB
Markdown
101 lines
2.5 KiB
Markdown
|
|
# Java 后端服务
|
|||
|
|
|
|||
|
|
## 项目结构
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
serverjava/
|
|||
|
|
├── src/ # Java 源代码
|
|||
|
|
│ ├── main/java/com/crawlful/hub/ # 主代码目录
|
|||
|
|
│ │ ├── api/ # API 层
|
|||
|
|
│ │ ├── service/ # 服务层
|
|||
|
|
│ │ ├── model/ # 数据模型
|
|||
|
|
│ │ ├── config/ # 配置文件
|
|||
|
|
│ │ └── util/ # 工具类
|
|||
|
|
│ ├── main/resources/ # 资源文件
|
|||
|
|
│ └── test/ # 测试代码
|
|||
|
|
├── pom.xml # Maven 配置文件
|
|||
|
|
├── index.md # 项目说明
|
|||
|
|
└── README.md # 构建和运行说明
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 技术栈
|
|||
|
|
|
|||
|
|
- **框架**:Spring Boot 3.x
|
|||
|
|
- **数据库**:MySQL 8.0
|
|||
|
|
- **缓存**:Redis
|
|||
|
|
- **认证**:JWT
|
|||
|
|
- **构建工具**:Maven
|
|||
|
|
- **Java 版本**:Java 17
|
|||
|
|
|
|||
|
|
## 构建和运行
|
|||
|
|
|
|||
|
|
### 1. 环境准备
|
|||
|
|
|
|||
|
|
- 安装 Java 17 或更高版本
|
|||
|
|
- 安装 Maven 3.6 或更高版本
|
|||
|
|
- 安装 MySQL 8.0 并创建数据库 `crawlful_hub`
|
|||
|
|
- 安装 Redis 并启动服务
|
|||
|
|
|
|||
|
|
### 2. 配置修改
|
|||
|
|
|
|||
|
|
修改 `src/main/resources/application.yml` 文件,配置数据库连接和 Redis 连接:
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
spring:
|
|||
|
|
datasource:
|
|||
|
|
url: jdbc:mysql://localhost:3306/crawlful_hub?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
|
|||
|
|
username: root
|
|||
|
|
password: 123456
|
|||
|
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
|||
|
|
redis:
|
|||
|
|
host: localhost
|
|||
|
|
port: 6379
|
|||
|
|
password:
|
|||
|
|
database: 0
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. 构建项目
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
mvn clean package
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 4. 运行服务
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
java -jar target/crawlful-hub-backend-1.0.0.jar
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
服务将在 `http://localhost:3001/api` 启动。
|
|||
|
|
|
|||
|
|
## API 接口
|
|||
|
|
|
|||
|
|
### 认证接口
|
|||
|
|
|
|||
|
|
- `POST /api/v1/auth/register`:用户注册
|
|||
|
|
- `POST /api/v1/auth/login`:用户登录
|
|||
|
|
|
|||
|
|
### 商品接口
|
|||
|
|
|
|||
|
|
- `GET /api/v1/product`:获取商品列表
|
|||
|
|
- `POST /api/v1/product`:创建商品
|
|||
|
|
- `GET /api/v1/product/{id}`:获取商品详情
|
|||
|
|
- `PUT /api/v1/product/{id}`:更新商品
|
|||
|
|
- `DELETE /api/v1/product/{id}`:删除商品
|
|||
|
|
|
|||
|
|
### 订单接口
|
|||
|
|
|
|||
|
|
- `GET /api/v1/orders`:获取订单列表
|
|||
|
|
- `POST /api/v1/orders`:创建订单
|
|||
|
|
- `GET /api/v1/orders/{id}`:获取订单详情
|
|||
|
|
- `PUT /api/v1/orders/{id}`:更新订单
|
|||
|
|
- `DELETE /api/v1/orders/{id}`:删除订单
|
|||
|
|
- `POST /api/v1/orders/webhook/{platform}`:平台订单 Webhook
|
|||
|
|
|
|||
|
|
## 注意事项
|
|||
|
|
|
|||
|
|
1. 本服务是对现有 Node.js 后端的平移,保持 API 接口的兼容性
|
|||
|
|
2. 服务默认端口为 3001,可以在 `application.yml` 中修改
|
|||
|
|
3. 数据库连接信息需要根据实际环境修改
|
|||
|
|
4. Redis 用于缓存和会话管理,需要确保服务正常运行
|