koa2中使用swagger

koa2中使用swagger

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

DEMO

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

插件

  • koa2-swagger-ui
  • swagger-jsdoc

koa2安装

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

实现步骤

1.安装插件npm

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

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

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内容以下segmentfault

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页面了api

相关文章
相关标签/搜索