尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

自动生成可交互API文档:nestjs-starter-rest-api的Swagger/OpenAPI零配置指南

自动生成可交互API文档:nestjs-starter-rest-api的Swagger/OpenAPI零配置指南 自动生成可交互API文档nestjs-starter-rest-api的Swagger/OpenAPI零配置指南【免费下载链接】nestjs-starter-rest-apiNestJS Starter Kit. Monolithic Backend. REST API.项目地址: https://gitcode.com/gh_mirrors/ne/nestjs-starter-rest-apinestjs-starter-rest-api是一个开箱即用的 NestJS 11 单体后端模板内置Swagger/OpenAPI文档能力——你不需要额外安装、编写配置只要把服务跑起来访问一个地址就能看到可在线调试的交互式 API 文档。这篇指南带你 5 分钟内上手。为什么它值得新手关注这个 starter kit 坚持轻量可用的原则把后端项目最常用的能力全部做完了能力技术选型状态认证JWT✅授权RBAC角色权限✅ORM / 数据库迁移TypeORM✅请求校验class-validator✅分页SQL offset limit✅Docker 部署Dockerfile✅自动生成的 OpenAPI 文档nestjs/swagger✅对新人最大的好处是写代码时顺手加上几个装饰器文档里的请求参数、响应结构、错误码就自动更新了永远不会文档和代码两张皮。快速上手三步打开交互式 Swagger 文档仓库地址https://link.gitcode.com/i/2542bc17ce95b50feddb82b123ca2c0a第 1 步克隆项目git clone https://link.gitcode.com/i/2542bc17ce95b50feddb82b123ca2c0a cd nestjs-starter-rest-api第 2 步安装依赖并准备环境执行npm install按 README.md 说明创建.env文件数据库连接、JWT 密钥等密钥可用./scripts/generate-jwt-keys一键生成本地需要一个 Postgres 服务也可以用 Docker Compose 一键拉起第 3 步启动并打开文档npm run start:dev # 开发模式支持热更新服务默认监听 3000 端口浏览器访问文档页面http://localhost:3000/swagger接口前缀http://localhost:3000/api/v1打开/swagger后你会看到按auth / users / articles分好组的接口列表每个接口都能点开填写参数、点击Try it out直接发起真实请求——这就是零配置的全部流程。✅文档是怎么零配置生成的整个 Swagger 集成只集中在启动文件src/main.ts中第 18–27 行核心就三步用DocumentBuilder设置文档标题、版本并通过addBearerAuth()声明支持 Bearer Token 认证用SwaggerModule.createDocument(app, options)扫描整个应用自动收集所有路由和装饰器信息用SwaggerModule.setup(swagger, ...)把文档挂载到/swagger路径换句话说你不需要单独维护任何文档文件OpenAPI 规范是程序在启动时实时从代码里扫描出来的。接口标注几个装饰器撑起整份文档模板里每个控制器都示范了标准写法以src/user/controllers/user.controller.ts为例ApiTags(users)—— 把接口归到users分组ApiOperation({ summary: ... })—— 接口的一句话说明ApiResponse({ status: 200, type: ... })—— 声明 200 / 404 等每种状态码的响应结构ApiBearerAuth()—— 标记该接口需要登录态Swagger 页面会自动显示锁形图标 再看 DTO 层文档里的参数表就是这么来的src/shared/dtos/pagination-params.dto.ts分页参数用ApiPropertyOptional标注还会自动带上默认 100 / 可选这类描述src/user/dtos/user-output.dto.ts响应字段用ApiProperty标注roles字段甚至给出了示例值src/shared/dtos/base-api-response.dto.ts统一的{ data, meta }响应包装和标准错误结构所有接口共享这套写法的妙处在于校验class-validator、序列化class-transformer、文档nestjs/swagger三组装饰器写在同一处加一个字段三边同时生效。在线调试用 Authorize 体验受保护接口这个 starter 内置了完整的 JWT 认证链路登录 / 刷新 Token / 角色守卫源码位于src/auth/目录。实际使用流程在 Swagger 页面点击Authorize按钮粘贴POST /api/v1/auth/login拿到的访问 Token之后所有带 标记的接口如GET /api/v1/users/me都会自动携带 Token直接点 Try it out 即可对前端同学来说这份文档可以直接替代口头传参对 API 消费方来说它就是一个活的契约。小结零配置文档能力随 starter kit 内置启动即得/swagger交互页面零维护OpenAPI 规范由装饰器驱动、启动时自动扫描生成零门槛新手照着控制器和 DTO 的现成写法标注即可如果你需要一个认证、权限、分页、日志、Docker 一应俱全还自带专业级 API 文档的 NestJS 起点nestjs-starter-rest-api 是一个值得直接克隆改名的选择。【免费下载链接】nestjs-starter-rest-apiNestJS Starter Kit. Monolithic Backend. REST API.项目地址: https://gitcode.com/gh_mirrors/ne/nestjs-starter-rest-api创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表