API 与后端分层
核心问题
为什么用户点了按钮以后,不是页面自己直接把数据改了,而是要经过 API 和后端服务?
什么是 API
API 可以理解成“程序之间说话的约定”。
前端不会直接去碰数据库,而是先向服务端发一个请求。服务端处理完以后,再把结果返回给前端。
一个最简单的过程
text
用户点击按钮
→ 前端发请求
→ API 接收请求
→ 服务端处理逻辑
→ 读写数据库
→ 返回结果
→ 前端更新页面为什么要这么做
- 前端负责展示和交互
- 服务端负责规则和业务逻辑
- 数据库负责存数据
- 每个人各做各的事,项目才不会越来越乱
后端为什么要分层
最常见的分法可以先让学生理解成 3 到 4 层:
| 层 | 作用 | 类比 |
|---|---|---|
| Controller | 接收请求、返回结果 | 前台接单 |
| Service | 处理业务逻辑 | 后厨做菜 |
| Repository | 读写数据 | 去仓库取食材 |
| Domain | 业务规则定义 | 菜谱标准 |
给青少年项目的简化理解
- Controller:别人发来什么请求
- Service:这件事到底该怎么做
- Repository:数据要从哪里拿、往哪里存
常见后端技术栈
| 类型 | 常见选择 | 特点 |
|---|---|---|
| JavaScript / TypeScript | Node.js, Express, NestJS | 跟前端语言接近,上手快 |
| Python | FastAPI, Django, Flask | 表达清楚,适合快速开发 |
| Java | Spring Boot | 企业里常见,体系完整 |
课堂练习
- 写出你们项目里最需要的 1 个 API,例如“添加任务”或“获取列表”
- 说出这个 API 的输入是什么、输出是什么
- 判断这件事里哪些逻辑属于前端,哪些属于服务端
给讲师的提醒
- 学生第一次接触 API 时,先讲“谁和谁说话”,不要急着讲太多协议细节
- 用生活类比很有效,比如餐厅点单、学校办公室办事
- 这一页很适合第 5 课“交互与状态”之后接入