用途:在 NestJS 项目中引入 OpenAPI/Swagger,为 REST API 生成机器可读的规范与可交互的 Swagger UI,便于编写接口文档、测试端点,并可作为生成客户端的依据。
主要能力:通过 DocumentBuilder 配置标题、描述、版本、联系信息、许可、标签、服务器与安全方案;用 SwaggerModule.createDocument() 生成规范,SwaggerModule.setup() 挂载 UI。提供丰富装饰器:@ApiTags 分组、@ApiOperation 描述操作、@ApiResponse 及各类状态码响应装饰器、@ApiParam/@ApiQuery/@ApiHeader 描述参数与请求头、@ApiBody 描述请求体与示例。DTO 层面用 @ApiProperty/@ApiPropertyOptional 描述属性、枚举、数组、嵌套对象,@ApiHideProperty 隐藏属性;并提供 PartialType、PickType、OmitType、IntersectionType 映射类型。安全方面支持 Bearer、API Key、OAuth2、Cookie 认证。还支持多份规范、自定义 CSS/标题/favicon、文件上传、@ApiExtraModels 注册模型、导出 JSON/YAML,以及 nest-cli.json 中的 @nestjs/swagger 插件自动注解以减少样板代码。
使用方式:先执行 npm install @nestjs/swagger;在 main.ts 中用 DocumentBuilder 构建 config,生成 document 并调用 SwaggerModule.setup('api', app, document);启动后访问对应路径查看文档。
适用场景:需要为 NestJS REST API 提供在线文档、接口调试、规范导出或客户端生成时使用。
限制:资料未提供版本兼容范围、收费或价格信息、性能数据及官方支持渠道;具体行为以实际安装版本为准。