SuperAPI AI 工具集

express

编程与开发

查看项目

更新于 10-15 23:33

技能介绍

用途:使用 Express v4.x 构建 REST API、中间件栈与 HTTP 请求/响应处理。不适用于静态站点生成(用 Next.js/Astro)、GraphQL 优先的 API(用 Apollo Server)以及边缘/无服务器零冷启动场景(用 Hono)。

主要能力与关键模式:路由模块化,将路由按资源分组到 Router 实例,保持 app.ts 整洁;异步错误包装,Express 4 不会捕获被拒绝的 Promise,需用 asyncHandler 将拒绝转发给错误中间件;集中式错误中间件,作为中间件栈最后一个 app.use,使用四参数签名;输入验证中间件,在路由逻辑前校验请求体(示例用 zod);正确状态码,创建返回 201,删除返回 204。

使用方式:安装并引入 express,使用 express.json() 解析 JSON;按资源建立 Router 模块;为异步处理器套 asyncHandler;在受保护路由前加认证中间件;最后注册错误中间件。

限制与边界情况:Express 4 会吞掉异步拒绝,必须包装或使用 express-async-errors;中间件顺序需注意,错误中间件在路由之后、认证在受保护路由之前;大负载应设置 express.json({ limit: "1mb" }) 防止 413 或内存问题;重复调用 res.json() 会抛错,可用 if (res.headersSent) 防护;缺少 Content-Type: application/json 时 req.body 为空。

检查清单:每个异步路由处理器均已包装;集中式错误中间件为最后一个 app.use;路由按资源分组为 Router 模块;请求体在业务逻辑前验证;使用正确 HTTP 状态码(201、204、400、404、500);express.json() 有明确大小限制;配置敏感头(CORS、Helmet)。