Node.js自动生成API文档的实现

 更新时间:2024年03月05日 09:47:12   作者:王果冻ddd  
本文主要介绍了Node.js自动生成API文档,包含基于swagger-jsdoc+swagger-ui-express快速实现,具有一定的参考价值,感兴趣的可以了解一下

如何在Node.js项目中使用 Swagger 来自动生成 API接口文档,使用生成方式有很多种。本文基于swagger-jsdoc+swagger-ui-express快速实现

1、直接使用swagger-ui-express

// 方便来浏览和测试api
npm i swagger-ui-express
import { Express } from 'express';
import swaggerUi from 'swagger-ui-express';
const options = {
  openapi: "3.0.3",
      info: {
      title: '文档相关接口',
      version: '1.0.0',
      description: 'API documentation using Swagger',
  },
  tags: [{
    name: "develop",
    description: "开发者站点管理接口",
  }],
  paths: {
    "/develop": {
      "get": {
      "tags": ["develop"],
      "description": "获取文档列表!",
          "responses": {
            "200": {
              "description":"返回字符串数组"
            }
          }
      }
    }
  }
}
const swaggerInstall = (app: Express) => {
  app.use(
    '/apidoc',
    swaggerUi.serve,
    swaggerUi.setup(options)
  );
};
export { swaggerInstall };

image.png

直接使用配置去生成接口文档,更改接口的时候需要同时去更改配置,会相对麻烦点。这时候就可以使用swagger-jsdoc,通过在接口上面注释信息后,就可以自动更新对应的api接口文档,其本质是通过读取该接口对应的注释,然后再转成对应的配置。

2、配合swagger-jsdoc

  • JSDoc 注释是一种特殊的注释语法,用于为 JavaScript 代码添加文档化和类型提示信息。它是基于 JSDoc 规范的一部分,旨在提供一种标准的方式来描述代码的结构、功能和类型信息

  • 作用:接口文档注释有更新,对应的api文档会同步更新。确保接口变更,配置会同时去更改

npm i swagger-jsdoc
import { Express } from 'express';
import path from 'path';
import swaggerDoc from 'swagger-jsdoc';
import swaggerUi from 'swagger-ui-express';

const swaggerOptions = {
  swaggerDefinition: {
    info: {
      title: '文档相关接口',
      version: '1.0.0',
      description: 'API documentation using Swagger',
    },
  },
  apis: [path.join(__dirname, './routes/*.ts')], // 指定包含 API 路由的文件或文件夹路径
};
const swaggerInstall = (app: Express) => {
  app.use(
    '/apidoc',
    swaggerUi.serve,
    swaggerUi.setup(swaggerDoc(swaggerOptions))
  );
};
export { swaggerInstall };
//在对应的接口,注释对应的文档
import express from 'express';
import {
  developGetFile,
  developGetFileList,
} from '../controllers/developControllers';
const router = express.Router();
/**
 * @openapi
 * /develop:
 *   get:
 *     tags: [develop]
 *     description: 获取文档列表!
 *     responses:
 *       200:
 *         description: 返回字符串数组.
 */
router.get('/', developGetFileList);

到此这篇关于Node.js自动生成API文档的文章就介绍到这了,更多相关Node.js自动生成API内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • node.js多个异步过程中判断执行是否完成的解决方案

    node.js多个异步过程中判断执行是否完成的解决方案

    这篇文章主要给大家介绍了关于node.js多个异步过程中判断执行是否完成的几种解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-12-12
  • 修改Nodejs内置的npm默认配置路径方法

    修改Nodejs内置的npm默认配置路径方法

    今天小编就为大家分享一篇修改Nodejs内置的npm默认配置路径方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • 安装nvm实现切换node

    安装nvm实现切换node

    这篇文章主要介绍了安装nvm实现切换node的详细过程,本文给大家讲解的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-06-06
  • 从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例

    从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例

    这篇文章主要介绍了Node.js多页面实现数学运算的client端和server端,结合具体实例形式分析了nodejs客户端提交与服务端处理实现数学运算的相关操作技巧,需要的朋友可以参考下
    2017-04-04
  • Node.js 异步编程之 Callback介绍(一)

    Node.js 异步编程之 Callback介绍(一)

    这篇文章主要介绍了Node.js 异步编程之 Callback介绍(一),本文用实例讲解Callback的相关知识,本文是第一篇,下一篇小编会跟进,需要的朋友可以参考下
    2015-03-03
  • 轻松创建nodejs服务器(5):事件处理程序

    轻松创建nodejs服务器(5):事件处理程序

    这篇文章主要介绍了轻松创建nodejs服务器(5):事件处理程序,本系列文章将一步一步创建一个完整的nodejs服务器,需要的朋友可以参考下
    2014-12-12
  • 使用Node.js实现RESTful API的示例

    使用Node.js实现RESTful API的示例

    Node.js可以用很少代码简单地实现一个Web服务,并且它有一个非常活跃的社区,通过Node出色的包管理机制(NPM)可以非常容易获得各种扩展支持。 对简单的应用场景Node.js实现REST是一个非常合适的选择。 本文介绍如何用Node.js实现REST服务。
    2017-08-08
  • 使用Node.js为其他程序编写扩展的基本方法

    使用Node.js为其他程序编写扩展的基本方法

    这篇文章主要介绍了使用Node.js为其他程序编写扩展的基本方法 ,文中示例是通过Node让JavaScript代码与C++应用产生交互,需要的朋友可以参考下
    2015-06-06
  • 使用Node实现Git仓库批量克隆的操作步骤

    使用Node实现Git仓库批量克隆的操作步骤

    分享一个node脚本,通过调用gitee的OpenApi获取自己的代码仓库列表,达到批量克隆项目的效果,文中通过代码示例和图文讲解的非常详细,感兴趣的小伙伴可以参考阅读一下
    2024-04-04
  • node.js文件系统之文件写入实例详解

    node.js文件系统之文件写入实例详解

    Node.js和其他语言一样,也有文件操作,下面这篇文章主要给大家介绍了关于node.js文件系统之文件写入的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-03-03

最新评论