# 实验 3 构建标准化的 RESTful 后端系统 **Repository Path**: javaweb-dev-tech/lab3 ## Basic Information - **Project Name**: 实验 3 构建标准化的 RESTful 后端系统 - **Description**: 实验 3:构建标准化的 RESTful 后端系统 https://javaweb.chende.top/chapter03/lab3/ - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-26 - **Last Updated**: 2026-01-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 实验 3:构建标准化的 RESTful 后端系统 > **学生信息填写栏** > * **班级**:_____________ > * **姓名**:_____________ > * **学号**:_____________ > * **完成日期**:2026/**/** > > --- ## 📝 实验目标 本实验基于 Spring Boot 框架,构建了一个符合大厂规范的、分层架构清晰的 RESTful 后端系统。以图书管理模块为例,实现了完整的 CRUD 功能。 **核心掌握技术点**: * **Spring Boot 基础**:掌握 `@SpringBootApplication` 启动与配置。 * **三层架构设计**:深刻理解 Controller (表现层) -> Service (业务层) -> Dao (数据访问层) 的解耦设计与 `@Autowired` 依赖注入。 * **RESTful 接口规范**:设计符合标准的 HTTP 接口,并使用 `Result` 统一响应格式。 * **全局异常处理**:使用 `@RestControllerAdvice` 实现异常的统一拦截与优雅返回。 * **效率工具**:使用 **Lombok** 简化 JavaBean 开发。 --- ## 📚 功能需求 本项目实现了图书管理模块的基本功能: * **获取图书列表**:`GET /books` * **获取单个图书**:`GET /books/{id}` * **创建图书**:`POST /books` * **更新图书**:`PUT /books/{id}` * **删除图书**:`DELETE /books/{id}` ## 📸 实验结果展示 (Evidence) ### 1. 接口功能测试 **(请在下方插入截图:启动项目后,访问 `http://localhost:8080/books` 返回的 JSON 数据截图)** > *截图要求:文件名命名为 `api_test.png` 并放入 `img` 文件夹* 接口测试截图 ### 2. 全局异常处理测试 **(请在下方插入截图:访问不存在的 ID 如 `/books/999`,系统返回的统一错误提示 JSON)** > *截图要求:文件名命名为 `exception.png` 并放入 `img` 文件夹* 异常处理截图 --- ## 💡 核心思考题 (Reflection) **Q: 为什么我们在 Controller 和 Dao 之间非要加一层 Service?有什么好处?** > **我的回答 (请编辑此处)**: > (在此处填写你的答案... 提示:可以从解耦、事务控制、业务逻辑复用、代码维护性等方面回答。例如:Controller 应该只负责接收请求和参数校验,复杂的业务逻辑计算、多个 Dao 的组合调用应该放在 Service 层,这样当业务变更时,不需要修改 Controller,同时也方便进行单元测试。) --- ## 🛠️ 构建与运行 1. **环境要求**:JDK 17+, Maven 3.6+, IDEA (安装 Lombok 插件)。 2. **克隆项目**: ```bash git clone https://gitee.com/javaweb-dev-tech/lab3.git ``` 3. **运行**: * 找到 `Lab3Application.java` * 右键点击 **Run** 运行 4. **测试**: * 打开浏览器或 Postman 访问 `http://localhost:8080/books`。 --- ## ✅ 自查清单 提交前请确认: * [ ] 个人信息已填写。 * [ ] 思考题已回答。 * [ ] 代码分层(Controller/Service/Dao)结构清晰。 * [ ] `Book` 实体类使用了 Lombok 注解。 * [ ] 实现了全局异常处理 (`GlobalExceptionHandler`)。 * [ ] `img` 文件夹下包含两张要求的截图。 ## 📄 许可证 本项目仅供学习和实验使用。