spring的技术笔记
学习HTTP与Express第 7 / 23 篇1 分钟阅读

Express 速通(TypeScript)

Express 速通(TypeScript)

这节要解决什么

用你已有的 Express 印象,快速搭一个带 TypeScript 的迷你 Todo API,为 Nest 打底板。

先用大白话

Express 核心就三件事:

  1. 路由:GET /todos 走哪个函数
  2. 中间件:请求到达业务前先经过的关卡(解析 JSON、打日志、鉴权…)
  3. req / res:读请求、写响应

类比 Nuxt:

Express有点像
app.get('/x', handler)server route / API 路由
app.use(中间件)Nuxt / Vue Router 全局中间件
req.body请求体

Nest 默认就是跑在 Express 上的;你懂 Express,看 Nest 控制器时不会懵。

对着项目改

打开:projects/02-express-todo-api

cd projects/02-express-todo-api
npm install
npm run dev

默认端口 3001。可用浏览器或 curl:

curl http://localhost:3001/todos
curl -X POST http://localhost:3001/todos -H 'Content-Type: application/json' -d '{"title":"学 Express"}'

重点文件:

  • src/app.ts:创建 app、挂中间件、挂路由
  • src/todos.ts:Todo 的增删改查(内存数组,重启会丢,这是故意的)
  • src/index.ts:监听端口

只要记住的结构

app.use(express.json())        // 先解析 JSON
app.get('/todos', ...)         // 再定义路由
app.listen(3001)

错误处理:业务里抛错或 next(err),最后有一个错误中间件统一返回 JSON —— Nest 里会变成「异常过滤器」,思想相同。

验收清单

  • 本地能增删改查 Todo
  • 知道 express.json() 是中间件
  • 能指着代码说出「路由」和「业务逻辑」分别在哪

下一节 → 练习与验收.md