# breakfast-server **Repository Path**: biglv/breakfast-server ## Basic Information - **Project Name**: breakfast-server - **Description**: Breakfast Shop Backend - Spring Boot 3 backend service with Redis. Java 21, REST API for breakfast management. - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-16 - **Last Updated**: 2026-03-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 早餐小铺服务端 早餐小铺应用的后端服务。基于 Spring Boot 3 和 Redis 构建。 ## 技术栈 | 分类 | 技术 | |------|------| | 框架 | Spring Boot 3.2 | | 语言 | Java 21 | | 数据库 | Redis | | 构建工具 | Maven | | 工具库 | Lombok | ## 环境要求 - JDK 21+ - Maven 3.8+ - Redis 服务器 ## 快速开始 ### 1. 配置 Redis 编辑 `src/main/resources/application.yml`: ```yaml spring: data: redis: host: your-redis-host port: 6379 password: your-password database: 0 ``` ### 2. 构建并运行 ```bash # 构建项目 mvn clean package # 运行应用 mvn spring-boot:run ``` 服务器将在 `http://localhost:8080` 启动 ## 项目结构 ``` breakfast-server/ ├── src/main/ │ ├── java/com/breakfast/ │ │ ├── BreakfastApplication.java # 应用入口 │ │ ├── config/ │ │ │ ├── CorsConfig.java # CORS 配置 │ │ │ └── RedisConfig.java # Redis 配置 │ │ ├── controller/ │ │ │ ├── AuthController.java # 认证接口 │ │ │ ├── BreakfastController.java │ │ │ ├── BlindBoxController.java │ │ │ └── CalendarController.java │ │ ├── service/ │ │ │ ├── UserService.java │ │ │ ├── BreakfastService.java │ │ │ ├── BlindBoxService.java │ │ │ └── CalendarService.java │ │ ├── repository/ │ │ │ ├── UserRepository.java │ │ │ ├── BreakfastRepository.java │ │ │ └── CalendarRepository.java │ │ ├── entity/ │ │ │ ├── User.java │ │ │ ├── BreakfastItem.java │ │ │ └── DailyBreakfast.java │ │ └── common/ │ │ ├── Result.java # API 响应封装 │ │ └── RedisKeyUtils.java # Redis 键工具类 │ └── resources/ │ └── application.yml # 应用配置 └── pom.xml # Maven 依赖 ``` ## API 端点 ### 认证接口 | 端点 | 方法 | 描述 | |------|------|------| | `/api/auth/sendCode` | POST | 发送手机验证码 | | `/api/auth/login` | POST | 手机号验证码登录 | ### 早餐管理 | 端点 | 方法 | 描述 | |------|------|------| | `/api/breakfast/list` | GET | 获取用户早餐列表 | | `/api/breakfast/select` | POST | 选择早餐项 | ### 盲盒接口 | 端点 | 方法 | 描述 | |------|------|------| | `/api/blindbox/random` | GET | 获取随机早餐选项 | ### 日历接口 | 端点 | 方法 | 描述 | |------|------|------| | `/api/calendar/week` | GET | 获取周早餐记录 | | `/api/calendar/month` | GET | 获取月早餐记录 | | `/api/calendar/record` | POST | 保存每日早餐记录 | ### 用户接口 | 端点 | 方法 | 描述 | |------|------|------| | `/api/user/info` | GET | 获取用户信息 | | `/api/user/settings` | PUT | 更新用户设置 | ## 配置说明 ### 服务端口 默认: `8080` ```yaml server: port: 8080 ``` ### Redis 连接 ```yaml spring: data: redis: host: localhost port: 6379 password: database: 0 lettuce: pool: max-active: 8 max-idle: 8 min-idle: 0 ``` ### Jackson 序列化 ```yaml spring: jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT+8 ``` ## 运行测试 ```bash mvn test ``` ## 生产构建 ```bash mvn clean package -DskipTests ``` JAR 文件将生成在 `target/breakfast-server-1.0.0.jar` ## 运行生产版本 ```bash java -jar target/breakfast-server-1.0.0.jar ``` ## 前端集成 本服务设计与 [breakfast-app](../breakfast-app) 前端配合使用。 请确保在 `CorsConfig.java` 中正确配置前端源的 CORS。 ## 依赖说明 | 依赖 | 版本 | 用途 | |------|------|------| | spring-boot-starter-web | 3.2.0 | REST API | | spring-boot-starter-data-redis | 3.2.0 | Redis 集成 | | spring-boot-starter-validation | 3.2.0 | 输入验证 | | lombok | (托管) | 减少样板代码 | | jackson-databind | (托管) | JSON 序列化 | ## 注意事项 - 短信验证目前为开发环境模拟实现 - 生产环境请集成短信服务商 - Redis 用于会话管理和数据存储 ## 许可证 MIT