一、國外的話Swagger
swagger-uiphp
二、國內的Showdoc
國內開源的很是好用的一款API文檔管理系統,安裝也很是方便,只需將源代碼放到項目目錄下自動安裝運行便可,不要要注意PHP版本必須大於5.3.html
三、界面簡潔功能強大的EOAPInode
四、阿里的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.netlaravel
五、postMangit
六、docute: 無需編譯的文檔撰寫工具
像 gitbook 之類的工具須要編譯後發佈,而 docute 讓你直接寫 markdown 文件做爲文檔來顯示而不須要編譯成 html 這一步,你的文檔目錄裏只須要一個首頁 index.html 和你的配置文件 config.js。angularjs
docute 會直接渲染這些 markdown 文件爲一個單頁應用。配合 github pages 發佈到 ./docs 目錄效果更佳,固然發佈到任何地方均可以。github
docute 的文檔: https://docute.js.org/#/zh-Hans/ (基於 Vue)web
Github 項目:https://github.com/egoist/docutespring
七、SmartWiki 接口文檔在線管理系統sql
八、SosoApi
SosoApi,編輯Swagger UI的神器
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
效果圖:
十、 TeaKKi
這個WIKI用來寫文檔也不錯~
TeaKKi == team wiki, https://teakki.com 超越了wiki, 在wiki基礎上支持團隊知識協做
這個須要在編輯後生成靜態的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版本)
具體步驟:
Windows安裝方法:
一、官網nodejs.org下載Node
二、安裝
三、將npm 替換爲淘寶鏡像cnpm
C:\Users\Administrator>npm install -g cnpm --registry=https://registry.npm.taobao.org
四、使用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>
十二、PHP_DOC 實時生成 API 文檔
https://segmentfault.com/a/11...