Torna —— 一款介面文檔解決方案,目標是讓介面文檔管理變得更加方便、快捷。採用團隊協作的方式管理和維護介面文檔,將不同形式的文檔納入進來統一維護。 ...
大家好,我是 Java陳序員
。
在企業開發中,涉及到很多個項目,每個項目都有一套自己的介面文檔,維護起來不是很方便,需要一個統一的介面文檔管理平臺來進行管理。
今天,給大家介紹一個開源的企業級介面文檔管理平臺!
關註微信公眾號:【Java陳序員】,獲取開源項目分享、AI副業分享、超200本經典電腦電子書籍等。
項目介紹
Torna
—— 一款介面文檔解決方案,目標是讓介面文檔管理變得更加方便、快捷。採用團隊協作的方式管理和維護介面文檔,將不同形式的文檔納入進來統一維護。
Torna
作為一款企業級介面文檔管理平臺,實現了統一管理項目介面文檔的功能,並且支持線上調試、游客預覽。
此外,可以使用 smart-doc
無侵入完成 Java 源代碼和註釋提取生成 API 文檔,然後自動將文檔推送到 Torna
介面文檔管理平臺,從而實現介面預覽、介面調試。
smart-doc
的介紹詳見:零侵入!試試這款Api介面文檔生成器!
如果一些舊項目使用 Postman
、 Swagger
或者 SpringDoc
來進行介面文檔管理,Torna
也提供了對應的插件來集成!
功能特色:
- 文檔管理:支持介面文檔增刪改查、導入導出、OpenAPI接入、字典管理、介面調試
- 許可權管理:以項目組的形式管理介面,各項目組之間介面互不影響,同時有訪客、開發者、管理員三種角色,每種角色有用不同許可權
- 雙模式:提供【管理模式】、【瀏覽模式】雙模式,管理模式用來編輯文檔內容,瀏覽模式純粹查閱文檔,界面無其它元素干擾
界面預覽
登錄
空間列表
項目列表
應用管理
添加文檔
文檔預覽
介面調試
介面Mock
常量管理
版本管理
預覽模式
快速上手
前置準備
開發環境:
- Java8
- MySQL5.6.5+
- Maven3
- Node.js12
拉取代碼:
git clone https://gitee.com/durcframework/torna.git
目錄結構:
front: 前端工程
plugin: 插件
script: 輔助腳本
sdk: OpenAPI對應的SDK
server: 服務端工程
mysql.sql:資料庫腳本
後端服務
1、將整個項目以 Maven 項目的形式導入到 IDEA 中
2、執行腳本 mysql.sql
初始化數據
3、修改配置文件 server/boot/src/main/resources/application.properties
中的資料庫配置信息
4、運行主啟動類 server/boot/src/main/java/cn/torna/TornaApplication.jav
啟動項目
前端服務
1、進入前端項目
cd front
2、安裝依賴
npm isntall
3、啟動項目
npm run dev
4、瀏覽器訪問:
http://localhost:9530/#/
預設用戶名密碼:admin/123456
部署 Torna
可以使用源碼打包的方式進行部署,也可以使用項目提供的腳本進行部署,或者是使用 Docker 的方式進行部署,具體的部署方式可以參考官方文檔。
使用 smart-doc
推送文檔
使用 smart-doc
可以無侵入完成提取註釋生成 API 文檔,並自動將文檔推送到 Torna
平臺。
smart-doc
插件是依賴於介面的源代碼進行分析和生成文檔,因此需按照JavaDoc
的標準編寫註釋。
1、在 Torna
平臺先創建一個項目,在 OpenAPI 中獲取請求路徑和 token
2、在項目中引入 smart-doc
插件
<plugins>
<!-- smart-doc插件 -->
<plugin>
<groupId>com.ly.smart-doc</groupId>
<artifactId>smart-doc-maven-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<!--指定生成文檔的使用的配置文件-->
<configFile>${basedir}/src/main/resources/smart-doc.json</configFile>
<!--指定項目名稱-->
<projectName>收銀台後臺服務</projectName>
</configuration>
<executions>
<execution>
<phase>package</phase>
</execution>
</executions>
</plugin>
</plugins>
3、在項目的 resources
目錄下添加一個 smart-doc.json
文件
{
"outPath": "target/doc",
"projectName": "收銀台後臺服務",
"packageFilters": "com.codechen.pay.controller.*",
"openUrl": "http://localhost:9530/api",
"appToken": "27ffa73c8794454abc58f481ada23766",
"debugEnvName":"本地環境",
"debugEnvUrl":"http://127.0.0.1:8080",
"tornaDebug": true,
"replace": true
}
openUrl
和appToken
在應用的OpenAPI
中獲取。
4、運行插件,將文檔推送到 Torna
平臺
或者在項目根目錄輸入
Maven
命令:mvn -Dfile.encoding=UTF-8 smart-doc:torna-rest -pl :shop-web -am
除了使用
smart-doc
插件推送文檔外,項目還提供了Swagger
文檔、SpringDoc
文檔推送的插件,相應的集成可參考項目文檔。
Torna
可以說是一個功能十分強大的介面管理平臺,完美適用於企業級開發。如果需要搭建一個企業級的介面管理平臺,可以考慮使用 Torna
.
項目地址:https://gitee.com/durcframework/torna
線上文檔:https://torna.cn/
最後
推薦的開源項目已經收錄到 GitHub
項目,歡迎 Star
:
https://github.com/chenyl8848/great-open-source-project
或者訪問網站,進行線上瀏覽:
https://chencoding.top:8090/#/
大家的點贊、收藏和評論都是對作者的支持,如文章對你有幫助還請點贊轉發支持下,謝謝!