Express中使用Swagger的实现示例

 更新时间:2023年12月11日 14:37:45   作者:Raccom  
swagger-express是一个规范和完整的框架实现,本文主要介绍了Express中使用Swagger的实现示例,具有一定的参考价值,感兴趣的可以了解一下

Swagger

Swagger 是一种规范,用于描述 API 的结构,功能和参数。使用 Swagger 可以提供清晰的可视化 API 文档,可用于 API 交互的文档驱动开发,以及 API 的自动化测试和集成。

  • 使用 npm 或 yarn 下载。
npm install swagger-jsdoc swagger-ui-express --save
yarn add swagger-jsdoc swagger-ui-express
  • 在 Express 根目录下的 app.js 中导入。
const swaggerJsdoc = require('swagger-jsdoc');
const swaggerUi = require('swagger-ui-express');

// ...

// definition 字段用于定义 Swagger 规范,apis 字段用于指定使用 Swagger 规范的 API 文件路径
const options = {
    definition: {
        openapi: '3.0.0',
        info: {
            title: 'My API',
            version: '1.0.0'
        }
    },
    apis: ['./routes/*.js']
};

const swaggerSpec = swaggerJsdoc(options);

app.use('/api', swaggerUi.serve, swaggerUi.setup(swaggerSpec));

// 其他路由...
  • 导入后即可在 router 中新增 Swagger 注释。
/**
 * @swagger
 * /users:
 *  get:
 *    summary: 获取所有用户信息
 *    responses:
 *      200:
 *        description: 成功获取所有用户信息
 * 
 *  post:
 *    summary: 创建用户
 *    parameters:
 *      - in: body
 *        name: user
 *        schema:
 *          type: object
 *          properties:
 *            name:
 *              type: string
 *            age:
 *              type: integer
 *    responses:
 *      200:
 *        description: 成功创建用户
 */

如果编写接口时使用的是 ApiFox 或 PostCat 等支持导出 OpenAI 规范文件的接口工具,
可以导出 OpenAI 规范的接口文件,然后访问 Swagger Editor 并导入接口文件。将左侧显示的内容复制到 Express 的路由文件中,并调整格式如上文所示注释格式即可。

跳转 Express 下的 /api 即可访问所有使用 Swagger 规范的 API 接口。

 到此这篇关于Express中使用Swagger的实现示例的文章就介绍到这了,更多相关Express使用Swagger内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • node.js中的forEach()是同步还是异步呢

    node.js中的forEach()是同步还是异步呢

    这篇文章主要讨论并验证了node.js中的forEach()是同步还是异步,思路和方法分享给大家,有需要的小伙伴可以参考下。
    2015-01-01
  • 详解基于node的前端项目编译时内存溢出问题

    详解基于node的前端项目编译时内存溢出问题

    本篇文章主要介绍了基于node的前端项目编译时内存溢出问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • Node.js中的文件系统(file system)模块详解

    Node.js中的文件系统(file system)模块详解

    Node.js文件系统模块提供了丰富的方法,用于读取、写入、操作文件和目录,文件系统模块是Node.js强大而灵活的一部分,为文件操作提供了方便的API,本文给大家介绍Node.js中的文件系统(file system)模块,感兴趣的朋友一起看看吧
    2023-11-11
  • Node.js简单入门前传

    Node.js简单入门前传

    Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。接下来通过本文给大家分享node.js 入门前传,感兴趣的朋友一起看看吧
    2017-08-08
  • nodejs 使用nodejs-websocket模块实现点对点实时通讯

    nodejs 使用nodejs-websocket模块实现点对点实时通讯

    这篇文章主要介绍了nodejs 使用nodejs-websocket模块实现点对点实时通讯的实例代码,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11
  • Centos7 中安装 Node.js v4.4.4

    Centos7 中安装 Node.js v4.4.4

    我一直对学习Node.js比较感兴趣。这是一个Java平台的服务器端编程 ,它允许开发人员在服务器编写Java代码,并且有许多CentOS的用户正努力学习这个语言的开发环境。这正是我想做这个教程的目的。
    2016-11-11
  • Npm link的作用与使用示例代码

    Npm link的作用与使用示例代码

    npm link可以帮助我们模拟包安装后的状态,它会在系统中做一个快捷方式映射,让本地的包就好像 install 过一样,可以直接使用,这篇文章主要介绍了Npm link的作用与使用示例代码,需要的朋友可以参考下
    2023-01-01
  • npm list输出结果包含extraneous标志记录分析

    npm list输出结果包含extraneous标志记录分析

    这篇文章主要为大家介绍了npm list输出结果包含extraneous标志记录分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Node.js 源码阅读深入理解cjs模块系统

    Node.js 源码阅读深入理解cjs模块系统

    这篇文章主要为大家介绍了Node.js 源码阅读深入理解cjs模块系统,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • NodeJS自定义模块写法(详解)

    NodeJS自定义模块写法(详解)

    下面小编就为大家带来一篇NodeJS自定义模块写法(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06

最新评论