SuperAPI AI 工具集

nestjs-documentation

编程与开发

查看项目

更新于 10-15 22:13

技能介绍

用途:在 NestJS 项目中自动化生成 Swagger/OpenAPI 文档,并统一 API 响应 schema 的写法,适用于需要产出 OpenAPI 规范、记录分页或泛型响应的场景。

主要能力与用法:

  1. 在 nest-cli.json 中启用 Swagger 插件,从 DTO 自动生成 @ApiProperty。
  2. 为控制器添加 @ApiTags、@ApiResponse 及认证相关装饰器。
  3. 为分页和多态响应创建通用包装器,例如用 ApiExtraModels 与 getSchemaPath() 定义 ApiPaginatedResponse<T> 以正确处理泛型。
  4. 为公开与内部受众分别生成文档。

响应文档要求:每个控制器方法都必须声明 @ApiResponse({ status: 200, type: UserDto })。

高级模式:多态用 @ApiExtraModels 与 getSchemaPath 处理 oneOf/anyOf;文件上传用 @ApiConsumes('multipart/form-data') 并显式声明 @ApiBody schema;认证用 @ApiBearerAuth() 或 @ApiSecurity('api-key'),需与 DocumentBuilder 配置一致;枚举强制命名,如 @ApiProperty({ enum: MyEnum, enumName: 'MyEnum' })。

操作分组:每个 Controller 必须加 @ApiTags('domains');可为不同受众生成多份文档。

反模式:不要遗漏 @ApiResponse;生产环境不要暴露 /docs;不要到处手写 @ApiProperty,应使用 Nest CLI Swagger 插件从 DTO 自动生成。

限制:资料未提供具体安装命令、版本要求、收费信息或完整代码示例,相关细节暂未提供。