用途:指导在 TypeScript 环境下用 Fastify 构建 REST API,适合需要类型安全校验、结构化路由和规范化错误处理的 Node.js 服务端开发。
主要能力:以 TypeBox 定义请求与响应 Schema,自动推导 TypeScript 类型;为路由补充 operationId、tags、summary 等 OpenAPI 元数据;支持路径参数、查询串分页、统一分页响应包装;按 RFC 7807 ProblemDetail 格式定义 400、401、403、404、500 等错误响应;通过 addSchema 与 Type.Ref 复用共享 Schema;提供模块化路由注册、全局错误处理、Bearer 头校验以及基于装饰器的角色权限检查。
使用方式:安装依赖 npm i fastify @fastify/type-provider-typebox @sinclair/typebox。用 Fastify({ logger: true }).withTypeProvider() 创建带 TypeBox 类型推导的实例;定义 Schema 后用 Static 推导类型;在路由 schema 中声明 body、params、querystring、headers 与各状态码 response;用 app.register 挂载路由模块并设置前缀;用 app.setErrorHandler 接管校验错误与领域错误;受保护路由通过 preHandler 搭配 hasPermissions() 装饰器校验权限。
适用场景:构建类型安全的 REST API、需要自动生成 OpenAPI 文档、要求统一错误结构与细粒度权限控制的后端项目。
限制:资料未提供具体版本兼容说明、性能与收费信息,也未给出完整项目骨架、测试与部署步骤;插件架构与 TypeID 的具体内容需查阅其 references/plugins.md 与 references/typeid.md。