什么是 OpenAPI 和 Swagger UI?

在開始之前,我們需要了解一些關鍵術語。

YAML

YAML 是一種人類可讀的標記語言,常用于配置文件。它的語法簡單且直觀,非常適合用來描述 API 的結構和行為。

Swagger UI

Swagger UI 是一個開源工具,可以將 OpenAPI 規范的文檔轉換為直觀的用戶界面。通過 Swagger UI,開發者可以交互式地測試 API,而無需編寫額外的客戶端代碼。


使用 Swagger UI 記錄 API 的兩種方法

使用 Swagger UI 記錄 API 通常有兩種方式:

  1. 在代碼的每個端點上添加注釋

    Swagger UI 會解析這些注釋并生成一個直觀的用戶界面。

  2. 使用獨立的 YAML 文件記錄端點

    將所有 API 文檔保存在與代碼分離的 YAML 文件中。這種方法更適合大型項目,也是本文的重點。


設置服務器以提供 Swagger UI 服務

在開始記錄 API 之前,我們需要設置服務器,使其能夠通過指定的路由(如 /docs)提供 Swagger UI 服務。

所需依賴

我們需要安裝以下兩個 Node.js 包:

  1. swagger-ui-express:用于生成美觀的用戶界面。
  2. yamljs:用于將 YAML 文件加載為 JavaScript 對象。

安裝命令如下:

npm install swagger-ui-express yamljs

配置 OpenAPI 文檔

以下是一個簡單的 OpenAPI 文檔示例,使用 YAML 格式描述:

openapi: 3.0.0
info:
  title: Express API With OpenAPI Docs
  description: A simple express REST API with OpenAPI docs generated by Swagger UI.
  version: 1.0.0
servers:
  - url: /

將上述內容保存為 api.yaml 文件,并在 Express 應用中加載它。


添加路徑和組件

在 YAML 文件中,我們需要定義 API 的路徑(paths),即端點的具體描述。這些路徑將記錄 API 的行為,例如請求方法、參數和響應格式。

為了避免重復,我們可以使用可重用的組件(components)。例如,定義常用的響應結構或參數模板,并在多個路徑中引用它們。


總結

通過本文的介紹,我們學習了如何使用 OpenAPI 和 Swagger UI 為 Express REST API 編寫文檔。使用 YAML 文件記錄 API 不僅使文檔更清晰,還能與代碼分離,便于維護和擴展。希望本文能夠幫助您更高效地記錄和管理 API 文檔。


原文鏈接: https://medium.com/@joshuaondieki/rest-api-docs-with-openapi-swagger-ui-de9cd7944c6
熱門推薦
一個賬號試用1000+ API
助力AI無縫鏈接物理世界 · 無需多次注冊
3000+提示詞助力AI大模型
和專業工程師共享工作效率翻倍的秘密
返回頂部
上一篇
Next.js 14:通過Fetch API緩存實現高效數據獲取
下一篇
五大PHP REST API框架
国内精品久久久久影院日本,日本中文字幕视频,99久久精品99999久久,又粗又大又黄又硬又爽毛片
欧美猛男gaygay网站| 午夜视频在线观看一区二区三区| 蜜臀91精品一区二区三区| 成人免费在线观看入口| 欧美一区二区三区四区五区| 亚洲福中文字幕伊人影院| 精品一区二区三区欧美| 一本久久a久久免费精品不卡| 欧美日韩卡一卡二| 97久久精品人人澡人人爽| 性欧美大战久久久久久久久| 欧美偷拍一区二区| 中文字幕av一区二区三区高| 日韩美女精品在线| 一区二区三区不卡视频| 亚洲视频图片小说| 91麻豆免费看| 亚洲蜜臀av乱码久久精品蜜桃| 三级成人在线视频| 亚洲一区影音先锋| 一区二区三区在线免费观看| 久久久久久久久伊人| 国产黄色91视频| 亚洲国产成人私人影院tom| 精品三级在线观看| 国产精品美女久久久久久久久久久 | 欧美色偷偷大香| 欧美日精品一区视频| 亚洲一区二区在线免费观看视频| 麻豆精品国产传媒mv男同| 麻豆精品一区二区三区| 91片黄在线观看| 蜜臀久久久久久久| 欧美日韩国产bt| 一区二区在线观看视频在线观看| 在线影院国内精品| 亚洲国产成人私人影院tom| 国产亚洲精品aa午夜观看| 国产91丝袜在线播放九色| 欧美怡红院视频| 美国十次了思思久久精品导航| 国产精品久久久99| 欧美大片免费久久精品三p| 亚洲成人免费av| 欧美一区二区三区播放老司机| 一级女性全黄久久生活片免费| 国产一区二区视频在线| 91在线porny国产在线看| 日韩不卡手机在线v区| 欧美国产综合一区二区| 国产成人免费视频一区| 中文字幕亚洲精品在线观看| 亚洲欧洲av色图| 亚洲免费av观看| 久久久夜色精品亚洲| 激情综合色丁香一区二区| 久久蜜臀中文字幕| 国产v日产∨综合v精品视频| 亚洲欧美综合在线精品| 国产自产v一区二区三区c| 亚洲成人自拍一区| 欧美日本视频在线| 精品乱码亚洲一区二区不卡| 成人免费福利片| 99久久99久久久精品齐齐| 免费在线观看视频一区| 丝袜亚洲精品中文字幕一区| 免费的成人av| 久久不见久久见免费视频1| 日韩**一区毛片| 美女视频第一区二区三区免费观看网站| 精品视频色一区| 国产欧美日韩卡一| 中文字幕佐山爱一区二区免费| 久久久精品一品道一区| 国产一区免费电影| 亚洲男人的天堂在线观看| 精品一区二区国语对白| 日韩一区二区中文字幕| 精品国精品国产| 久久久久久久久99精品| 欧美在线free| 26uuu国产一区二区三区| 中文字幕不卡在线观看| 精品写真视频在线观看| 精品精品欲导航| 日韩精品一二三| 日韩二区三区在线观看| 欧美日韩精品一区二区在线播放| 亚洲激情男女视频| 日韩视频免费观看高清完整版在线观看 | 无吗不卡中文字幕| 日韩一区日韩二区| 午夜激情综合网| 天天影视涩香欲综合网| 天堂资源在线中文精品| 一区二区三区电影在线播| 91精选在线观看| www国产精品av| 色婷婷综合久色| 麻豆91在线看| 亚洲久草在线视频| 久久久久97国产精华液好用吗| 国产成人综合在线播放| 亚洲日本一区二区| 国产日韩欧美亚洲| 欧美人牲a欧美精品| 99久久er热在这里只有精品15 | 国产黄色精品视频| 欧美性一二三区| 91亚洲精品久久久蜜桃网站| 国产在线观看一区二区| 日韩影院免费视频| 91欧美激情一区二区三区成人| 国产精品1024久久| 亚洲图片激情小说| 在线免费不卡视频| 色av一区二区| 国产亚洲欧美激情| 久草热8精品视频在线观看| 色婷婷av一区| 国产欧美日本一区二区三区| 国产精品麻豆网站| 亚洲主播在线观看| www.欧美.com| 久久综合久久综合久久| 亚洲va欧美va天堂v国产综合| 日本大胆欧美人术艺术动态| 91浏览器在线视频| 中文一区二区在线观看| 亚洲欧美电影一区二区| 亚洲国产成人一区二区三区| 日韩精品1区2区3区| 精品国产百合女同互慰| 亚洲成人黄色影院| 欧美电影在哪看比较好| 亚洲精品一区二区三区福利 | av中文字幕不卡| 欧美高清www午色夜在线视频| 欧美图片一区二区三区| 欧美日韩和欧美的一区二区| 中文字幕在线播放不卡一区| 成人激情综合网站| 亚洲欧美一区二区在线观看| 99久久精品国产一区二区三区| 欧美国产成人在线| 粉嫩一区二区三区在线看| 欧美成人一区二区三区片免费| 亚洲一区二区三区精品在线| 欧美专区亚洲专区| 狠狠色狠狠色综合系列| 成人欧美一区二区三区黑人麻豆| 日本电影亚洲天堂一区| 日本中文在线一区| 一区二区三区**美女毛片| 精品久久久久久久久久久久久久久 | 尤物视频一区二区| 国产高清成人在线| 亚洲综合小说图片| 久久亚区不卡日本| 色悠悠亚洲一区二区| 视频在线观看91| 一区二区三区在线免费视频| 精品欧美久久久| 欧美日韩精品专区| 在线免费av一区| 日韩va亚洲va欧美va久久| 国产精品第一页第二页第三页| 91精品国产综合久久久久久久 | 亚洲伊人色欲综合网| 欧美日韩午夜在线视频| 成人av在线资源网| 欧日韩精品视频| 国产高清精品在线| 欧美一级一区二区| 亚洲午夜久久久久久久久电影院| 91成人在线免费观看| 不卡的av电影| 欧美中文字幕一二三区视频| 91官网在线免费观看| 日本欧美大码aⅴ在线播放| 丝袜国产日韩另类美女| 美女mm1313爽爽久久久蜜臀| 综合激情网...| 日韩一级二级三级| 欧美一区二区三区性视频| 国产亚洲综合在线| 91麻豆福利精品推荐| 欧美日韩在线一区二区| 精品国产污污免费网站入口| 中文字幕在线不卡一区 | 国产毛片精品视频| 国产精品久久久久9999吃药| 久久久亚洲午夜电影| 欧美一区二区三区播放老司机| 波多野结衣中文一区| 99精品欧美一区| 亚洲黄色小说网站| 久久99精品国产.久久久久| 91成人国产精品|