请选择 进入手机版 | 继续访问电脑版

如何在nodejs中使用swagger

[复制链接]
丁翼 发表于 2021-1-1 18:35:00 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
在工作中和配景javaer举行接口调试的时候使用的是swagger,非常的方便。nodejs中有什么好用的api工具呢?网上查找了一下,swagger同样适用于nodejs,记录一下在nodejs中使用swagger的过程。
1、 安装依赖

  1. npm install swagger-ui-express swagger-jsdoc -S
复制代码
2、创建swagger中间件



  • 在utils/swagger文件夹中创建index.js
  • 设置swagger-jsdoc中的options
  • 注意修改swagger收集注释的路由
  1. const path = require('path')const express = require('express')const swaggerUI = require('swagger-ui-express')const swaggerDoc = require('swagger-jsdoc')//设置swagger-jsdoc  const options = {    definition: {      openapi: '3.0.0',      info: {        title: 'api',        version: '1.0.0',        description: `小步伐+管理配景共用接口api`      }    },    // 去哪个路由下收集 swagger 注释    apis: [path.join(__dirname,'../../routes/*.js')]  }  var swaggerJson = function (req, res) {    res.setHeader('Content-Type', 'application/json');    res.send(swaggerSpec);  }  const swaggerSpec = swaggerDoc(options)    var swaggerInstall = function(app) {    if (!app){      app = express()    }    // 开放相关接口,    app.get('/swagger.json', swaggerJson);    // 使用 swaggerSpec 生成 swagger 文档页面,并开放在指定路由    app.use('/swagger', swaggerUI.serve, swaggerUI.setup(swaggerSpec));  }  module.exports = swaggerInstall
复制代码
3、在app.js中引用swagger中间件的swaggerInstall方法

  1. // 使用swagger API 文档var swaggerInstall = require('./utils/swagger')swaggerInstall(app)
复制代码
4、swagger 在js 中的注释如下所示,可在设置的路径下任意js地方注释,swagger-jsdoc会遍历查找

  1. /**, * @swagger * /api/addExam: *    post: *      tags: *      - 测试 *      summary: 提交考试答案 *      produces: *      - application/json *      parameters: *      - name: name *        in: query *        description: 姓名 *        required: false *        type: integer *        maximum: *        minimum: 1 *        format: *      - name: phone *        in: query *        description: 电话 *        required: false *        type: integer *        maximum: *        minimum: 1 *        format: *      responses: *        200: *          description: successful operation *          schema: *            ref: #/definitions/Order *        400: *          description: Invalid ID supplied *        404: *          description: Order not found * */
复制代码
5、访问api



  • npm start 运行项目
  • 输入 http://localhost:3000/swagger 访问当地api


来源:https://blog.csdn.net/weixin_40305713/article/details/111921938
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )