欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在Node.js中使用Swagger自動生成API接口文檔

 更新時(shí)間:2024年01月22日 09:04:41   作者:5大大大大雄  
這篇文章主要給大家介紹了如何在Node.js項(xiàng)目中使用 Swagger 來自動生成 API接口文檔,使用生成方式有很多種,本文基于swagger-jsdoc+swagger-ui-express快速實(shí)現(xiàn),文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下

如何在Node.js項(xiàng)目中使用 Swagger 來自動生成 API接口文檔,使用生成方式有很多種。本文基于swagger-jsdoc+swagger-ui-express快速實(shí)現(xiàn)

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: '文檔相關(guān)接口',
      version: '1.0.0',
      description: 'API documentation using Swagger',
  },
  tags: [{
    name: "develop",
    description: "開發(fā)者站點(diǎn)管理接口",
  }],
  paths: {
    "/develop": {
      "get": {
      "tags": ["develop"],
      "description": "獲取文檔列表!",
          "responses": {
            "200": {
              "description":"返回字符串?dāng)?shù)組"
            }
          }
      }
    }
  }
}
const swaggerInstall = (app: Express) => {
  app.use(
    '/apidoc',
    swaggerUi.serve,
    swaggerUi.setup(options)
  );
};
export { swaggerInstall };

直接使用配置去生成接口文檔,更改接口的時(shí)候需要同時(shí)去更改配置,會相對麻煩點(diǎn)。這時(shí)候就可以使用swagger-jsdoc,通過在接口上面注釋信息后,就可以自動更新對應(yīng)的api接口文檔,其本質(zhì)是通過讀取該接口對應(yīng)的注釋,然后再轉(zhuǎn)成對應(yīng)的配置。

2、配合swagger-jsdoc

  • JSDoc 注釋是一種特殊的注釋語法,用于為 JavaScript 代碼添加文檔化和類型提示信息。它是基于 JSDoc 規(guī)范的一部分,旨在提供一種標(biāo)準(zhǔn)的方式來描述代碼的結(jié)構(gòu)、功能和類型信息

  • 作用:接口文檔注釋有更新,對應(yīng)的api文檔會同步更新。確保接口變更,配置會同時(shí)去更改

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: '文檔相關(guān)接口',
      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 };
//在對應(yīng)的接口,注釋對應(yīng)的文檔
import express from 'express';
import {
  developGetFile,
  developGetFileList,
} from '../controllers/developControllers';
const router = express.Router();
/**
 * @openapi
 * /develop:
 *   get:
 *     tags: [develop]
 *     description: 獲取文檔列表!
 *     responses:
 *       200:
 *         description: 返回字符串?dāng)?shù)組.
 */
router.get('/', developGetFileList);

參考

https://editor.swagger.io/

https://jsdoc.app/

https://github.com/Surnet/swagger-jsdoc

https://github.com/scottie1984/swagger-ui-express

以上就是在Node.js中使用Swagger自動生成API接口文檔的詳細(xì)內(nèi)容,更多關(guān)于Node.js Swagger生成API文檔的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Nodejs實(shí)現(xiàn)多文件夾文件同步

    Nodejs實(shí)現(xiàn)多文件夾文件同步

    這篇文章主要為大家介紹了Nodejs實(shí)現(xiàn)多文件夾文件同步,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • node.js操作mysql簡單實(shí)例

    node.js操作mysql簡單實(shí)例

    本文給大家介紹了nodejs 連接Mysql相關(guān)操作的示例代碼,主要用到的是sql語句,都是比較基礎(chǔ)的。
    2017-05-05
  • 前端node Session和JWT鑒權(quán)登錄示例詳解

    前端node Session和JWT鑒權(quán)登錄示例詳解

    關(guān)于前端鑒權(quán)登錄是比較常見的需求了,本文將從服務(wù)端渲染和前后端分離的不同角度下演示鑒權(quán),為大家介紹前端node Session和JWT鑒權(quán)登錄示例詳解
    2022-07-07
  • 深入解析桶排序算法及Node.js上JavaScript的代碼實(shí)現(xiàn)

    深入解析桶排序算法及Node.js上JavaScript的代碼實(shí)現(xiàn)

    桶排序Radix Sort算法利用分治思想將元素分入各桶中排序后匯總,以下我們就來深入解析桶排序算法及Node.js上JavaScript的代碼實(shí)現(xiàn),需要的朋友可以參考下
    2016-07-07
  • 使用nodejs?spider爬取圖片及數(shù)據(jù)實(shí)現(xiàn)

    使用nodejs?spider爬取圖片及數(shù)據(jù)實(shí)現(xiàn)

    這篇文章主要為大家介紹了使用nodejs?spider爬取圖片及數(shù)據(jù)實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • 使用Node.js給圖片加水印的方法

    使用Node.js給圖片加水印的方法

    使用Node.js給圖片加水印,首先要確保本地安裝了node環(huán)境。然后,我們進(jìn)行圖像編輯操作需要用到一個(gè)Node.js的庫:images。具體詳情大家可以通過本文了解下
    2016-11-11
  • Node.js一行代碼實(shí)現(xiàn)靜態(tài)文件服務(wù)器的方法步驟

    Node.js一行代碼實(shí)現(xiàn)靜態(tài)文件服務(wù)器的方法步驟

    這篇文章主要介紹了Node.js一行代碼實(shí)現(xiàn)靜態(tài)文件服務(wù)器的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Pycharm配置Node.js運(yùn)行js代碼詳細(xì)過程

    Pycharm配置Node.js運(yùn)行js代碼詳細(xì)過程

    在PyCharm中寫JavaScript代碼并進(jìn)行調(diào)試是非常方便的,但是有些用戶可能對如何在PyCharm中準(zhǔn)確地運(yùn)行JavaScript代碼感到困惑,這篇文章主要給大家介紹了關(guān)于Pycharm配置Node.js運(yùn)行js代碼的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • koa中間件核心(koa-compose)源碼解讀分析

    koa中間件核心(koa-compose)源碼解讀分析

    這篇文章主要介紹了koa中間件核心(koa-compose)源碼解讀分析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • nodejs教程之環(huán)境安裝及運(yùn)行

    nodejs教程之環(huán)境安裝及運(yùn)行

    文章從nodejs環(huán)境安裝、文件結(jié)構(gòu)、路由做了詳細(xì)介紹,然后結(jié)合mongodb制作注冊功能也做了細(xì)致的講述,是篇非常不錯的文章,這里推薦給大家
    2014-11-11

最新評論