Node.js自動生成API文檔的實現(xiàn)
如何在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);
到此這篇關(guān)于Node.js自動生成API文檔的文章就介紹到這了,更多相關(guān)Node.js自動生成API內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
node.js多個異步過程中判斷執(zhí)行是否完成的解決方案
這篇文章主要給大家介紹了關(guān)于node.js多個異步過程中判斷執(zhí)行是否完成的幾種解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-12-12
修改Nodejs內(nèi)置的npm默認(rèn)配置路徑方法
今天小編就為大家分享一篇修改Nodejs內(nèi)置的npm默認(rèn)配置路徑方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05
從零開始學(xué)習(xí)Node.js系列教程四:多頁面實現(xiàn)數(shù)學(xué)運算的client端和server端示例
這篇文章主要介紹了Node.js多頁面實現(xiàn)數(shù)學(xué)運算的client端和server端,結(jié)合具體實例形式分析了nodejs客戶端提交與服務(wù)端處理實現(xiàn)數(shù)學(xué)運算的相關(guān)操作技巧,需要的朋友可以參考下2017-04-04
輕松創(chuàng)建nodejs服務(wù)器(5):事件處理程序
這篇文章主要介紹了輕松創(chuàng)建nodejs服務(wù)器(5):事件處理程序,本系列文章將一步一步創(chuàng)建一個完整的nodejs服務(wù)器,需要的朋友可以參考下2014-12-12
使用Node.js實現(xiàn)RESTful API的示例
Node.js可以用很少代碼簡單地實現(xiàn)一個Web服務(wù),并且它有一個非?;钴S的社區(qū),通過Node出色的包管理機制(NPM)可以非常容易獲得各種擴展支持。 對簡單的應(yīng)用場景Node.js實現(xiàn)REST是一個非常合適的選擇。 本文介紹如何用Node.js實現(xiàn)REST服務(wù)。2017-08-08

