Swagger-PHP 部署

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)象,所以一定最先去參考文檔文檔文檔。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 需求: 為客戶端同事寫接口文檔的各位后端同學,已經(jīng)在各種場合回憶了使用自動化文檔工具前手寫文檔的血淚史.我的故事卻...
    _Lyux閱讀 4,934評論 0 2
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,544評論 19 139
  • Swashbuckle.AspNetCore Swagger 使用Asp.net core 建立API.生成漂亮的...
    JacoChan閱讀 5,290評論 0 1
  • Composer Repositories Composer源 Firegento - Magento模塊Comp...
    零一間閱讀 4,020評論 1 66
  • 測量平均發(fā)生在每個人的顆粒度,每天對于自己的時間劃分,都有著不同的規(guī)劃。 根據(jù)工作的不同設定屬于自己的顆粒度,規(guī)劃...
    楊平的閱讀 258評論 0 0

友情鏈接更多精彩內容