SuperAPI AI 工具集

typescript-fastify

编程与开发

查看项目

更新于 10-16 00:06

技能介绍

用途:在 TypeScript 中使用 Fastify 构建 REST API,适用于创建路由、处理请求、用 TypeBox 做校验、组织应用结构等场景。

主要能力:提供基于 TypeBox 的请求/响应 schema 定义(含 $id、operationId、tags、summary 等 OpenAPI 相关字段),路径参数、查询串与分页响应模式,模块化路由注册,RFC 7807 ProblemDetail 错误 schema 与全局错误处理,可复用 schema 的 $ref 引用,请求头与鉴权校验,以及基于装饰器的角色权限检查。

安装:npm i fastify @fastify/type-provider-typebox @sinclair/typebox

用法要点:用 Fastify({ logger: true }).withTypeProvider() 创建实例;用 Type.Object 定义 schema,用 Static<typeof Schema> 推导类型;路由中通过 schema 声明 body、params、querystring、headers 与各状态码 response;用 app.register 注册模块化路由并加 prefix;用 app.setErrorHandler 统一处理校验错误与领域错误;用 app.addSchema 与 Type.Ref 复用 schema;用 preHandler 配合权限装饰器保护路由。

限制与说明:资料要求 Fastify v5 中必须使用完整 JSON Schema;建议为所有 schema 添加 $id,为所有路由添加 operationId、tags、summary,并为所有状态码定义响应 schema。插件架构与 TypeID 的更多内容见 references/plugins.md 与 references/typeid.md。其余如具体部署、性能数据、收费信息暂未提供。