好記性不如爛筆頭,記錄一下
完整案列其中的server文件夾內git
koa2-swagger-ui
swagger-jsdoc
詳情查看另外一篇文章中的後端篇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