最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

如何在Node.js項目中使用 Swagger 來自動生成 API接口文檔,使用生成方式有很多種。本文基于swagger-jsdoc+swagger-ui-express快速實現(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ā)者站點管理接口",
  }],
  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 };

直接使用配置去生成接口文檔,更改接口的時候需要同時去更改配置,會相對麻煩點。這時候就可以使用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文檔會同步更新。確保接口變更,配置會同時去更改

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使用winston進(jìn)行日志記錄詳解

    Nodejs使用winston進(jìn)行日志記錄詳解

    在生產(chǎn)環(huán)境中,更常見的做法是使用專門的日志記錄庫,如winston、log4js等,來實現(xiàn)更靈活和可配置的日志記錄功能,本篇文章將介紹的是winston的強大的日志記錄功能,快跟隨小編一起學(xué)習(xí)一下吧
    2024-01-01
  • nodejs根據(jù)ip數(shù)組在百度地圖中進(jìn)行定位

    nodejs根據(jù)ip數(shù)組在百度地圖中進(jìn)行定位

    本文主要介紹了nodejs根據(jù)ip數(shù)組在百度地圖中進(jìn)行定位的方法,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • 深入理解Node.js中的Worker線程

    深入理解Node.js中的Worker線程

    這篇文章主要介紹了深入理解Node.js中的Worker線程,對Worker線程感興趣的同學(xué),一定要看一下
    2021-04-04
  • 教你用Node.js與Express建立一個GraphQL服務(wù)器

    教你用Node.js與Express建立一個GraphQL服務(wù)器

    GraphQL是一種通過強類型查詢語言構(gòu)建api的新方法,下面這篇文章主要給大家介紹了關(guān)于用Node.js與Express建立一個GraphQL服務(wù)器的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • nodejs個人博客開發(fā)第六步 數(shù)據(jù)分頁

    nodejs個人博客開發(fā)第六步 數(shù)據(jù)分頁

    這篇文章主要為大家詳細(xì)介紹了nodejs個人博客開發(fā)的數(shù)據(jù)分頁,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • node.js實現(xiàn)的裝飾者模式示例

    node.js實現(xiàn)的裝飾者模式示例

    這篇文章主要介紹了node.js實現(xiàn)的裝飾者模式,簡單說明了裝飾者模式的原理、功能并結(jié)合實例形式給出了node.js裝飾者模式的實現(xiàn)方法,需要的朋友可以參考下
    2017-09-09
  • 簡單了解小程序+node梳理登陸流程

    簡單了解小程序+node梳理登陸流程

    這篇文章主要介紹了簡單了解小程序+node梳理登陸流程,以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,,需要的朋友可以參考下
    2019-06-06
  • 輕松創(chuàng)建nodejs服務(wù)器(3):代碼模塊化

    輕松創(chuàng)建nodejs服務(wù)器(3):代碼模塊化

    這篇文章主要介紹了輕松創(chuàng)建nodejs服務(wù)器(3):代碼模塊化,本文是對第一節(jié)的例子作了封裝,需要的朋友可以參考下
    2014-12-12
  • 輕松創(chuàng)建nodejs服務(wù)器(6):作出響應(yīng)

    輕松創(chuàng)建nodejs服務(wù)器(6):作出響應(yīng)

    這篇文章主要介紹了輕松創(chuàng)建nodejs服務(wù)器(6):作出響應(yīng),我們接著改造服務(wù)器,讓請求處理程序能夠返回一些有意義的信息,需要的朋友可以參考下
    2014-12-12
  • Node.Js生成比特幣地址代碼解析

    Node.Js生成比特幣地址代碼解析

    本篇文章給大家分享了關(guān)于用NODE.JS生成比特幣地址的相關(guān)代碼,對此有興趣的讀者們可以參考測試下。
    2018-04-04

最新評論

安阳市| 白朗县| 布尔津县| 平塘县| 饶河县| 象州县| 漯河市| 莆田市| 延寿县| 阳曲县| 望奎县| 克东县| 都昌县| 上饶县| 芜湖市| 桃园县| 孟村| 合作市| 安多县| 屯留县| 阿鲁科尔沁旗| 澎湖县| 宁化县| 叶城县| 贡山| 乳源| 黄石市| 繁昌县| 镇平县| 阿巴嘎旗| 佛山市| 安阳市| 将乐县| 鹤庆县| 白朗县| 洞口县| 永登县| 平罗县| 玛纳斯县| 庄浪县| 宁明县|