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

相關文章
相關標籤/搜索