能否通过命令基于路由注释生成swagger.yaml或swagger.json文件?
可行实现方案
你这个需求有非常成熟的落地工具,现有符合规范的Swagger注释不需要做任何修改,直接通过swagger-jsdoc命令行工具即可完成提取生成。
具体操作步骤
- 第一步:全局安装依赖工具
执行npm命令安装所需的命令行工具:npm install swagger-jsdoc swagger-cli -g - 第二步:编写基础配置文件
在项目根目录新建swaggerConfig.js配置文件,填入接口文档的基础元信息和要扫描的路由文件路径:module.exports = { definition: { openapi: '3.0.0', info: { title: '业务接口文档', version: '1.0.0', description: '业务系统对外接口说明' } }, // 按你的实际路由文件存放路径修改,支持通配符匹配 apis: ['./routes/**/*.js'] } - 第三步:执行命令生成目标文件
生成yaml格式文档:
生成json格式文档:swagger-jsdoc -c swaggerConfig.js -o swagger.yamlswagger-jsdoc -c swaggerConfig.js -o swagger.json - 可选操作:校验生成的文档合法性
执行以下命令可校验生成的Swagger文件是否符合规范:swagger-cli validate swagger.yaml
效果说明
你现有路由代码中的Swagger注释会被自动扫描提取,和配置文件中的基础信息合并后生成完整的可用Swagger文档,无需额外修改已有注释内容。
内容的提问来源于stack exchange,提问作者Cyra
相关产品推荐
相关产品推荐

