@flipdish/cdk-构造
CDK Constructions for Flipdish serverless 应用程序,专注于API构造,提供自动的OpenAPI文档生成和部署.
安装
npm install @flipdish/cdk-constructs
概览
这个软件包为建设无服务器的API提供CDK构造和公用设备,并带有强大的打字和自动的OpenAPI文档. 它被设计为与 标准 并和Zod集成用于schema验证和OpenAPI生成.
特征
- Api 构造: Drop-in 取代 SST 的 Api 构造,内置 OpenAPI 文档生成.
- 自动打开API Docs:为您的 API 路由生成并部署 OpenAPI JSON, YAML 和 HTML 文档.
- Schema 整合: 支持基于Zod的路线计划定义.
- 类型脚本第一: 所有建筑和公用事业都严格打字.
使用量
基本示例
import { Api, SchemaFunction } from '@flipdish/cdk-constructs';
import { z } from 'zod';
import { StackContext } from 'sst/constructs';
export function API({ stack }: StackContext) {
const api = new Api(stack, 'Api', {
routes: {
'GET /hello': {
function: new SchemaFunction(stack, 'HelloHandler', {
handler: 'src/hello.handler',
schema: {
responses: {
200: z.object({ message: z.string() }),
},
},
}),
},
},
});
// The following endpoints are automatically added:
// - /openapi.json
// - /openapi.yaml
// - /openapi.html
return { api };
}
OpenAPI 公用事业
您也可以使用下列功能来进行高级的 OpenAPI 计划生成 :
buildSchema(registry, serviceName, url): 从注册处生成一个 OpenAPI 计划文档.sstRoutesToOpenApiSchema(routes): 将 SST 路由定义转换为 OpenAPI 路由配置.
类型
该套件输出出几种类型来帮助强大的打字和计划集成:
SchemaSchemaFunctionSchemaFunctionPropsSchemaRoutePropsSchemaApiPropsSchemaApiFunctionRouteProps
开发和测试
此软件包在 无服务器应用程序模板 仓库.
测试
您可以通过部署堆栈并验证OpenAPI文档端点是否可用和准确来测试构造. 对于单位测试,请使用您喜欢的测试跑道(例如:Vitest或Jest)来检查构造是否如预期的那样表现.
许可证
麻省理工学院
捐款
此软件包在 无服务器应用程序模板 仓库.