介面文檔解決方案!企業級的介面文檔管理平臺!

来源:https://www.cnblogs.com/codechen8848/p/18365413
-Advertisement-
Play Games

Torna —— 一款介面文檔解決方案,目標是讓介面文檔管理變得更加方便、快捷。採用團隊協作的方式管理和維護介面文檔,將不同形式的文檔納入進來統一維護。 ...


大家好,我是 Java陳序員

在企業開發中,涉及到很多個項目,每個項目都有一套自己的介面文檔,維護起來不是很方便,需要一個統一的介面文檔管理平臺來進行管理。

今天,給大家介紹一個開源的企業級介面文檔管理平臺!

關註微信公眾號:【Java陳序員】,獲取開源項目分享、AI副業分享、超200本經典電腦電子書籍等。

項目介紹

Torna —— 一款介面文檔解決方案,目標是讓介面文檔管理變得更加方便、快捷。採用團隊協作的方式管理和維護介面文檔,將不同形式的文檔納入進來統一維護。

Torna 作為一款企業級介面文檔管理平臺,實現了統一管理項目介面文檔的功能,並且支持線上調試、游客預覽。

此外,可以使用 smart-doc 無侵入完成 Java 源代碼和註釋提取生成 API 文檔,然後自動將文檔推送到 Torna 介面文檔管理平臺,從而實現介面預覽、介面調試。

smart-doc 的介紹詳見:零侵入!試試這款Api介面文檔生成器!

如果一些舊項目使用 PostmanSwagger 或者 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
}

openUrlappToken 在應用的 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/#/

大家的點贊、收藏和評論都是對作者的支持,如文章對你有幫助還請點贊轉發支持下,謝謝!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在PHP 7.4中安裝xdebug,出現"configure: error: rtnetlink.h is required, please make sure it is available by installing the correct package"的問題。 在使用sudo yum in ...
  • 寫在前面 今天繼續講JavaIO流的知識! Java 文件與流操作 File 類 File 類用於表示文件和文件夾的抽象。 構造方法 public File(String pathname): 使用路徑名創建 File 對象。 public File(String parent, String ch ...
  • 類中使用shared_ptr()的問題 當我們先定義一個指針,然後再用這個指針構造兩個智能指針 int main() { int* pt = new int(); std::shared_ptr<int> p1(pt); std::shared_ptr<int> p2(pt); std::cout ...
  • 先序: 學習編程語言要先學個輪廓,剛開始只用學核心的部分,一些細節、不常用的內容先放著,現用現查即可;把常用的東西弄熟練了在慢慢補充。 1、 安裝 Python 解釋器 為什麼需要安裝 Python Python 語言本身是由解釋器執行的,因此你需要在你的電腦上安裝 Python 解釋器。這個解釋 ...
  • 先序: 學習編程語言要先學個輪廓,剛開始只用學核心的部分,一些細節、不常用的內容先放著,現用現查即可;把常用的東西弄熟練了在慢慢補充。 1. Java 概述 Java 是一種面向對象的編程語言,由 Sun Microsystems(現在的 Oracle)在 1995 年推出。Java 程式可以在任何 ...
  • 正文 今天還是把周末的所有事情一起寫。每到周末都沒什麼寫日記的動力。 周五下午出去吃飯,吃一半,斯視頻突然打過來。我當時有點懵,不知道他要乾什麼,但還是接了。第一個畫面就是他擺弄自行車。他跟我說,自行車踏板和鏈條有問題,踩下去的時候轉一半就動不了了。 經過我們二人一通瞎猜,發現是後面的鏈條掉了,但是 ...
  • 1. Rust 簡介 Rust 的歷史 起源:Rust 語言最初由 Mozilla 研究員 Graydon Hoare 於 2006 年開始設計,並於 2009 年首次公開。 開發:Rust 是 Mozilla 實驗室的一個項目,目的是創建一種能夠保證記憶體安全同時又不犧牲性能的系統編程語言。 發佈: ...
  • 1. make 和 Makefile 1.1. 什麼是make? 1.2. 什麼是Makefile? 1.3. make 與 Makefile的關係 2. Makefile的語法 2.1. 基本語法 2.2. 變數 2.3. 偽目標 2.4. 模式規則 2.5. 自動變數 2.6. 條件判斷 3. ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...