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页面了
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。