開源的api文件管理系統

微沫小熊發表於2020-12-22

開源的api文件管理系統

來源 https://www.cnblogs.com/libaoli/p/8295835.html

作為備用

 

  • 在專案中,需要協同開發,所以會寫許多API文件給其他同事,以前都是寫一個簡單的TXT文字或Word文件,口口相傳,這種方式比較老土了,所以,需要有個api管理系統專門來管理這些api,從網上找了許多比較好的開源文件管理系統,可以應用到專案中。

1、國外的話Swagger
swagger-ui

2、國內的Showdoc
國內開源的非常好用的一款API文件管理系統,安裝也非常方便,只需將原始碼放到專案目錄下自動安裝執行即可,不要要注意PHP版本必須大於5.3.

3、介面簡潔功能強大的EOAPI

4、阿里的RAP
Web API management, free and open sourced, mock data generator, auto test, made by Alibaba, using by 1000+ corporations! Web介面管理工具,開源免費,介面自動化,MOCK資料自動生成,自動化測試,企業級管理。阿里媽媽MUX團隊出品!阿里巴巴都在用!1000+公司的選擇!一直被抄襲,從未被超越 :3 http://rapapi.net

5、postMan

6、docute: 無需編譯的文件撰寫工具
像 gitbook 之類的工具需要編譯後釋出,而 docute 讓你直接寫 markdown 檔案作為文件來顯示而不需要編譯成 html 這一步,你的文件目錄裡只需要一個首頁 index.html 和你的配置檔案 config.js。

docute 會直接渲染這些 markdown 檔案為一個單頁應用。配合 github pages 釋出到 ./docs 目錄效果更佳,當然釋出到任何地方都可以。

docute 的文件: https://docute.js.org/#/zh-Hans/ (基於 Vue)

Github 專案:https://github.com/egoist/docute

7、SmartWiki 介面文件線上管理系統

8、SosoApi
SosoApi,編輯Swagger UI的神器

9、CrapApi開源介面管理系統演示地址

CrapApi:一個由angularjs+bootstrap+springMVC搭建的高效能的免費開源的API介面、文件管理系統(應用介面管理系統)

GitHub原始碼地址:https://github.com/EhsanTang/...
碼雲原始碼地址:http://git.oschina.net/CrapAp...

主要功能:api介面管理、資料字典管理、介面資料模擬、介面文件管理(支援markdown、kindereditor等編輯器)、支援本地部署或線上使用、支援通過建表語句匯入資料字典...

其他功能:專案管理、使用者管理、模組管理、介面管理、介面版本管理、介面拷貝、介面文件pdf下載、介面mock、模組加密訪問、
介面線上除錯、資料字典管理、資料字典加密訪問多管理員、多許可權、多角色管理、自定義選單、自定義網站樣式、文件留言、
錯誤碼管理、介面排序、DOC、PDF、TEXT、EXCEL等資源管理、支援版本號控制、文件內容檢索、操作日誌記錄、
根據日誌恢復資料、markdown編輯器、kindeditor編輯器、angularjs編輯器、Lucene搜尋、專案成員管理...

站點使用地址:http://api2.crap.cn
效果圖:

10、 TeaKKi
這個WIKI用來寫文件也不錯~
TeaKKi == team wiki, https://teakki.com 超越了wiki, 在wiki基礎上支援團隊知識協作

11、Web API文件生成工具apidoc

這個需要在編輯後生成靜態的HTML頁面,然後上傳到伺服器。

工具名稱:apiDoc 
Git地址:https://github.com/apidoc/apidoc 
專案地址:http://apidocjs.com/ 
樣例專案:http://apidocjs.com/example_b... 
apoDoc是從原始碼的註釋中生成RestFul api 文件,樣子還是蠻漂亮的……

使用apidoc 生成Restful web Api文件
NodeJS、NPM安裝配置步驟(windows版本)

Apidoc安裝與使用

具體步驟:

Windows安裝方法:
1、官網nodejs.org下載Node

2、安裝

3、將npm 替換為淘寶映象cnpm

 
 C:\Users\Administrator>npm install -g cnpm --registry=https://registry.npm.taobao.org

4、使用cnpm安裝apidoc

 
 C:\Users\Administrator>cnpm install apidoc -g

安裝的地址:

 
 [apidoc@0.17.5] link C:\Users\Administrator\AppData\Roaming\npm\apidoc@ -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\apidoc\bin\apidoc
  
 C:\Users\Administrator\AppData\Roaming\npm\node_modules\apidoc

apidoc 監視檔案變動自動生成工具

監控api_doc.json檔案改變,然後自動生成HTML

watch.js檔案,然後node 執行該檔案

 
 /**
 * watch.js
 * Created by lincoln on 16-1-6.
 */
 var gaze = require('gaze');
 var exec = require('child_process').exec;
 var fs = require('fs')
  
  
 function init(){
 fs.mkdirSync('./api');
 fs.mkdirSync('./doc');
 createConfigureFile();
 beginWatch();
 }
 /**
 {
 "name": "測試",
 "version": "0.0.1",
 "description": "API文件測試",
 "title": "API文件測試",
 "url" : "http://121.41.44.218",
 "sampleUrl" : "http://121.41.44.218",
 "template":{
 "forceLanguage":"zh-cn"
 }
 }
 */
  
 function createConfigureFile(){
 var configure = {
 "name": "測試",
 "version": "0.0.1",
 "description": "API文件測試",
 "title": "API文件測試",
 "url" : "http://xxxxxx",
 "sampleUrl" : "http://xxx",
 "template":{
 "forceLanguage":"zh-cn"
 }
 }
 fs.writeFileSync('./api/apidoc.json',JSON.stringify(configure));
 }
  
 function beginWatch(){
 gaze('./api/*.*',function(error,watcher){
 this.on('all', function(event, filepath) {
 console.log(filepath + ' was ' + event);
 runGeneartion();
 })
 });
 }
  
 function runGeneartion(){
 var com = exec('apidoc -i ./api -o ./doc ')
 com.stdout.on('data', function (data) {
 console.log("生成Api->"+data);
 });
  
 com.stderr.on('data', function (data) {
 console.log('生成錯誤啦->' + data);
 });
 }
  
 if(fs.existsSync('./api') && fs.existsSync('./doc')){
 beginWatch();
 }else{
 init();
 }
  

安裝gaze包,然後執行watch.js檔案:

 
 ➜ apidoc cnpm install gaze
 [gaze@*] installed at node_modules/.1.1.2@gaze (14 packages, use 2s, speed 54.93kB/s, json 85.75kB, tarball 0B)
 All packages installed (14 packages installed from npm registry, use 2s, speed 54.62kB/s, json 17(85.75kB), tarball 0B)
 ➜ apidoc node watch.js
 /WEB/apidoc/api/apidoc.json was changed
 生成Api->info: Done.

api引數:

 
 Usage: C:\Program Files\nodejs\node.exe apidoc [options]
  
 Options:
 -f, --file-filters RegEx-Filter to select files that should be parsed (multiple -f can be used)
 -e, --exclude-filters RegEx-Filter to select files / dirs that should not be parsed (many -e can b
 -i, --input Input / source dirname. [./]
 -o, --output Output dirname. [./doc/]
 -t, --template Use template for output files. [C:\Users\Administrator\AppData\Roaming\npm\
 -c, --config Path to directory containing config file (apidoc.json) [./]
 -p, --private Include private APIs in output. [false]
 -v, --verbose Verbose debug output. [false]
 -h, --help Show this help information.
 --debug Show debug messages. [false]
 --color Turn off log color. [true]
 --parse Parse only the files and return the data, no file creation. [false]
 --parse-filters Optional user defined filters. Format name=filename
 --parse-languages Optional user defined languages. Format name=filename
 --parse-parsers Optional user defined parsers. Format name=filename
 --parse-workers Optional user defined workers. Format name=filename
 --silent Turn all output off. [false]
 --simulate Execute but not write any file. [false]
 --markdown Turn off default markdown parser or set a file to a custom parser. [true]
 --line-ending Turn off autodetect line-ending. Allowed values: LF, CR, CRLF.
 --encoding Set the encoding of the source code. [utf8]. [utf8]

執行生成文件命令

 
 D:\code\api_doc>apidoc -i example/ -o doc/
 info: Done.
  
 D:\POCO\api_doc>

12、PHP_DOC 實時生成 API 文件
https://segmentfault.com/a/11...

業精於勤荒於嬉,形成思毀於隨

相關文章