在Linux上通過Swagger進行API文檔共享,可以按照以下步驟進行:
首先,需要在Linux系統上安裝Node.js和npm??梢酝ㄟ^以下命令進行安裝:
# 更新包列表
sudo apt update
# 安裝Node.js和npm
sudo apt install -y nodejs npm
# 下載Swagger Editor
wget https://github.com/swagger-api/swagger-editor/archive/refs/tags/v3.50.0.tar.gz
# 解壓文件
tar -xvf swagger-editor-3.50.0.tar.gz
# 進入解壓后的目錄
cd swagger-editor-3.50.0
# 安裝http-server全局
npm install -g http-server
# 啟動Swagger Editor
http-server -p 8080
現在,可以通過瀏覽器訪問 http://your_server_ip:8080 來使用Swagger Editor。
# 下載Swagger UI
wget https://github.com/swagger-api/swagger-ui/archive/refs/tags/v3.50.0.tar.gz
# 解壓文件
tar -xvf swagger-ui-3.50.0.tar.gz
# 進入解壓后的目錄
cd swagger-ui-3.50.0
# 安裝express全局
npm install -g express
# 創建一個簡單的HTML文件來加載Swagger Editor
mkdir public
cd public
nano index.html
在 index.html 文件中添加以下內容:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="swagger-editor.css">
</head>
<body>
<div id="swagger-editor"></div>
<script src="swagger-editor.js"></script>
<script>
window.onload = function() {
// 原生 JavaScript 對 Swagger Editor 的支持
// const url = "https://petstore.swagger.io/v2/swagger.json";
// const url = "YOUR_SWAGGER_JSON_URL";
// const editor = SwaggerEditor.create(url);
// editor.load();
}
</script>
</body>
</html>
然后啟動服務器:
cd ..
nohup node index.js &
訪問 http://your_server_ip:3000 即可查看Swagger UI文檔。
創建一個OpenAPI規范文件(YAML或JSON格式),詳細定義API接口信息,包括路徑、操作、參數、請求/響應格式等。以下是一個簡單的YAML示例:
swagger: '2.0'
info:
version: 1.0.0
title: My API Documentation
description: API文檔示例
contact:
name: Your Name
url: Your URL
license:
name: MIT
url: http://opensource.org/licenses/MIT
paths:
/users:
get:
summary: 獲取用戶列表
responses:
200:
description: 成功
使用Swagger命令行工具生成API文檔:
# 全局安裝Swagger CLI
npm install -g swagger-jsdoc swagger-ui-express
# 生成Swagger文檔
swagger generate spec -o ./swagger.json
啟動Swagger服務:
swagger serve --no-open ./swagger.json
訪問 http://your_server_ip:3000/swagger-ui.html 查看生成的API文檔。
如果使用Spring Boot項目,可以使用 springdoc 來生成API文檔。首先,在 pom.xml 中添加依賴:
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.1.0</version>
</dependency>
然后,配置 application.properties 文件:
springdoc.api-docs.path=/api-docs
springdoc.swagger-ui.path=/swagger-ui
啟動Spring Boot應用后,訪問 http://your_server_ip:8080/swagger-ui 即可查看生成的API文檔。
為了方便遠程訪問和團隊協作,可以使用Docker進行部署。
# 拉取Swagger Editor容器
docker pull swaggerapi/swagger-editor
# 運行容器,將容器的8080端口映射到宿主機的8088端口
docker run -p 8088:8080 -d swaggerapi/swagger-editor
現在,可以通過瀏覽器訪問 http://your_server_ip:8088 來使用Swagger Editor。
通過以上步驟,你可以在Linux上成功搭建Swagger環境,實現API文檔的共享和管理。