5

koa2中使用swagger

好记性不如烂笔头,记录一下

DEMO

完整案列其中的server文件夹内

插件

  • koa2-swagger-ui
  • swagger-jsdoc

koa2安装

详情查看另一篇文章中的后端篇

实现步骤

1.安装插件

npm install koa2-swagger-ui swagger-jsdoc --save

2.在app.js中引入使用koa2-swagger-ui

const Koa = require('koa')
const koaSwagger = require('koa2-swagger-ui')

app.use(koaSwagger({
  routePrefix: '/swagger', // host at /swagger instead of default /docs
  swaggerOptions: {
    url: '/swagger.json', // example path to json 其实就是之后swagger-jsdoc生成的文档地址
  },
}))

3.在根目录上创建一个util文件夹在util文件夹下创建swagger.js内容如下

const router = require('koa-router')() //引入路由函数
const swaggerJSDoc = require('swagger-jsdoc')

const swaggerDefinition = {
  info: {
    title: 'API',
    version: '1.0.0',
    description: 'API',
  },
  host: 'localhost:3000',
  basePath: '/' // Base path (optional)
};

const options = {
  swaggerDefinition,
  apis: ['./routes/*.js'], // 写有注解的router的存放地址
};

const swaggerSpec = swaggerJSDoc(options)

// 通过路由获取生成的注解文件
router.get('/swagger.json', async function (ctx) {
  ctx.set('Content-Type', 'application/json');
  ctx.body = swaggerSpec;
})

module.exports = router
//将页面暴露出去

4.回到app.js中写入

const swagger = require('./util/swagger')
app.use(swagger.routes(), swagger.allowedMethods())

5.访问http://localhost:3000/swagger就可以看到swagger页面了


xiaosi
120 声望8 粉丝

引用和评论

0 条评论