SuperAPI AI 工具集

express

编程与开发

查看项目

更新于 10-15 11:09

技能介绍

用途

Express 技能用于为使用 Express.js 构建 Node.js API 提供专家级辅助。当需要构建 REST API、实现中间件管线、优雅处理错误、添加认证/授权或设置 API 文档时,可以调用该技能。

主要能力

  • 使用中间件配置 Express 应用
  • 实现 RESTful 路由模式
  • 使用自定义中间件处理错误
  • 应用安全最佳实践
  • 设置校验与解析
  • 配置生产部署

输入参数

参数 类型 必填 说明
routePath string 是 路由路径前缀
methods array 是 HTTP 方法
middleware array 否 要应用的中间件
validation boolean 否 是否添加校验

模式示例

应用初始化

使用 helmet 设置安全头,配置 cors(来源取自环境变量,开启 credentials),使用 express-rate-limit 做限流(窗口 15 分钟、上限 100 次,启用 standardHeaders、关闭 legacyHeaders),使用 express.json 与 express.urlencoded 解析请求体(limit 为 10kb),启用 compression 压缩,使用 morgan 记录日志(生产环境用 combined,否则用 dev)。挂载 auth 与 users 路由,提供返回状态与时间戳的 /health 健康检查,最后挂载 notFoundHandler 与 errorHandler。

路由器与控制器

路由器从 Router 创建实例并绑定控制器,为各路由配置 authenticate、authorize('admin')、validate(createUserSchema) 等中间件。控制器类通过私有 service 实例调用业务逻辑,各方法为异步函数,捕获错误后调用 next(error),并根据情况返回 JSON 或 204 状态。

中间件

  • 认证:从 Authorization 头取出 Bearer token,缺失时返回 401;用 jsonwebtoken 校验,将解码后的用户信息挂到 req.user,失败返回 401。
  • 授权:authorize(...roles) 返回中间件,检查 req.user 及其 role 是否在允许列表,否则返回 403。
  • 校验:validate(schema) 使用 Zod 的 schema.parse 校验 req.body,捕获 ZodError 后返回 400 及错误详情,否则交由 next 处理。
  • 错误处理:自定义 AppError 携带 statusCode、message、isOperational;notFoundHandler 返回 404;errorHandler 打印错误,AppError 返回对应状态码与消息,其他错误在生产环境返回“Internal server error”,否则返回 err.message。

异步处理器包装器

asyncHandler 接收异步请求处理函数,返回将 Promise 拒绝传递给 next 的 RequestHandler,用于避免在每个路由中手动捕获异步错误。

最佳实践

  • 使用中间件处理横切关注点
  • 实现恰当的错误处理
  • 校验所有输入
  • 应用安全中间件(helmet、cors、限流)
  • 使用控制器与服务分层组织代码

目标流程

  • nodejs-api-development
  • rest-api-development
  • mern-stack-development
  • backend-architecture

适用场景

适合构建 Node.js REST API、设计中间件管线、处理错误、添加认证授权、设置 API 文档等后端开发场景。

限制

资料未提供该技能的具体安装方式、收费与价格信息、支持的平台范围、性能效果指标及完整使用步骤。