用途:在 TypeScript 中使用 Fastify 构建 REST API,处理路由定义、请求与响应校验(TypeBox)、应用结构组织及错误处理。
主要能力:路由与完整 schema 定义(body、params、querystring、response),含 operationId、tags、summary 等 OpenAPI 元数据;常见 schema 模式如分页查询、分页响应包装;模块化路由注册与类型化 Fastify 实例;RFC 7807 错误 schema 与全局错误处理;共享 schema 引用;请求头与 Bearer 鉴权、基于角色的权限检查(decorate 装饰器)。
使用方式:安装依赖 npm i fastify @fastify/type-provider-typebox @sinclair/typebox;用 TypeBoxTypeProvider 创建实例;通过 app.register 注册路由模块并设置 prefix;验证错误可借 FST_ERR_VALIDATION 处理。插件架构与 TypeID 集成见 references/plugins.md、references/typeid.md。
限制:资料强调先检视所属包与现有实现,复用既有类型、错误、生命周期与测试工具,文中模式只是可选方案而非必做清单;不应强制新增 schema ID、插件、TypeID 或按资源拆分错误栈;内部迁移需保留当前 HTTP 契约。错误契约与 RFC 7807 仅在任务明确选择时使用。安装命令与代码内容保持原文。