Swagger 是一個規(guī)范和完整的框架,用于生成、描述、調用和可視化 RESTful 風格的 Web 服務??傮w目標是使客戶端和文件系統(tǒng)作為服務器以同樣的速度來更新。文件的方法,參數(shù)和模型緊密集成到服務器端的代碼,允許API來始終保持同步。Swagger 讓部署管理和使用功能強大的API從未如此簡單。
1.首先swagger 到底是什么東西呢?
其實就是指的是安裝Swagger套件, 然后API代碼里寫注釋, 用Swagger后端程序跑API來提取注釋, 生成一個json文件, 再通關Swagger前端來美化,整理JSON數(shù)據(jù),在swagger-ui輸出這個json注釋文件的信息。
就是一個api的管理工具,一種規(guī)范,為后端和客戶端做便利的一種工具。

2.安裝
swagger-ui下載 git clone https://github.com/swagger-api/swagger-ui.git
很多說是在git上下載然后找到dist把里面內容放到你需要的項目下面,但是我看下載的和很多例子對不起來,所以我這里打包準備了一個,可以直接放到項目更目錄下面可以取個文件夾叫docs,然后要找到index 這個文件 修改 你默認顯示的json文件。
$(function() {var url = window.location.search.match(/url=([^&]+)/);if(url && url.length > 1) {? ? ? ? url = decodeURIComponent(url[1]);? ? ? }else{? ? ? ? url = "http://127.0.0.1/swagger/docs/json/swagger.json";? ? ? }
因為我這個文件就是中文版的,改中文好像要引入lang/zh-CN.js 這個js 文件
然后就可以訪問了http://127.0.0.1/swagger/docs,就出現(xiàn)下面的界面

3.安裝 后端 也就是 swagger-PHP
開始的時候因為swagger 有在線編輯編輯好了,然后生成json,然后放到你的json文件下面,用swagger-ui去訪問就可以看到,但是如果投入到項目以后這個畢竟不是什么好辦法,所以還是需要安裝后端,畢竟方便。我借助的是composer,(開始我以為composer是什么東東,還覺得好難啊,無從下手,原來就是一個軟件,包管理工具,不過用過還挺好用的)
這個是安裝包,cmd 輸入composer 出現(xiàn)大大的 composer 說明安裝成功了,因為速度很慢,所以可以轉換成國內鏡像
composer config -g repo.packagist composer https://packagist.phpcomposer.com
這樣就OK啦,速度也會快上好幾倍然后從composer上面下載 這個 swagger-php
composer requirezircote/swagger-php 執(zhí)行就可以了就下載下來了,然后項目根目錄會增加一個vendor這里面就是所謂的 swagger-PHP
4.接下來就是怎么寫注釋 生成json 然后 ui 顯示
會看到里面好多@SWG 這樣的注釋(參考最新的文檔實例),這些就是文檔啦,這個插件會自動提取這些注釋然后生成一個json文件,然后ui 就可以 讀取出來了。

5.怎么生成json文件呢
在cdm 到這個項目下面 或者項目所在的盤,我在c盤下面試過不能執(zhí)行,所以在相應位置(逐步進入 dir 列表查看子文件,然后cd 進入)執(zhí)行這段命令啦,要死了,搞了好久一定不要出錯啊關鍵詞有幾個那就是標紅
php /phpstudynew/www/swagger/vendor/zircote/swagger-php? /bin/swagger/phpstudynew/www/swagger/application/controllers -o? /phpstudynew/www/swagger/docs/json
-o前面是自動獲取 整個文件夾下面所有的 注釋,后面是生成的路徑,也是ui訪問的路徑,這個默認好像是swagger.json就這樣成功了
簡單寫了下實現(xiàn)swagger的方法,還待學習,總之要看文檔學著把文檔把例子看好,很多博客可能有時間關系 文檔都更新了,所以注釋格式會出現(xiàn)錯誤的現(xiàn)象,所以一定最先去參考文檔文檔文檔。