node的swagger现在也用上了注释型的文档,和java的有点类似。主要步骤就两个:swagger配置和注释生成文档

话不多说,直接开始
安装
1 2 | // koa2-swagger-ui UI视图组件 swagger-jsdoc 识别写的 /***/ 转 json npm install koa2-swagger-ui swagger-jsdoc --save |
直接安装即可
配置
新建 swagger.js 文件,位置放哪都行,只要自己能找到,我放在了根目录,和 packages.js 同级
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | const router = require( 'koa-router' )() //引入路由函数 const swaggerJSDoc = require( 'swagger-jsdoc' ) const path = require( 'path' ) const swaggerDefinition = { info: { title: 'blog项目访问地址' , version: '1.0.0' , description: 'API' , }, host: 'localhost:8000' , // 想着改这里,如果不修改,那么接口文档访问地址为:localhost:8000/swagger basePath: '/' // Base path (optional) }; const options = { swaggerDefinition, apis: [path. join (__dirname, './routes/*.js' )], // 写有注解的router的存放地址, 最好path.join() }; const swaggerSpec = swaggerJSDoc(options) // 通过路由获取生成的注解文件 router. get ( '/swagger.json' , async function (ctx) { ctx. set ( 'Content-Type' , 'application/json' ); ctx.body = swaggerSpec; }) module.exports = router |
在 app.js 中新增配置
1 2 3 4 5 6 7 8 9 10 11 | const swagger = require( './swagger' ) // 存放swagger.js的位置,可以自行配置,我放在了根目录 const { koaSwagger } = require( 'koa2-swagger-ui' ) // 接口文档配置 app.use(swagger.routes(), swagger.allowedMethods()) app.use(koaSwagger({ routePrefix: '/swagger' , // 接口文档访问地址 swaggerOptions: { url: '/swagger.json' , // example path to json 其实就是之后swagger-jsdoc生成的文档地址 } })) |
启动项目,访问项目接口地址 + swagger ,我的地址是 http://localhost:8000/swagger

添加注释生成文档
1、学习 YAML 语言教程
2、根据 swagger 文档说明,添加注释
参考: https://blog.csdn.net/qq_38734862/article/details/107715579
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
2020-12-07 html2jspdf文档
2020-12-07 监听localstorage
2020-12-07 vue插件 webpack打包 style中的element样式没有打包进去
2020-12-07 css-loader导致vue中样式失效
2020-12-07 vue-cli 中执行的 vue-cli-service源码中执行了webpack什么
2020-12-07 webpack vue-clii-service vite create-react-app umi对比